added database fields for predictive dialing
added fields to vicidial/admin.php for predictive dialing control git-svn-id: svn://192.168.202.10@204 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
+105
-6
@@ -278,6 +278,14 @@ if (isset($_GET["allcalls_delay"])) {$allcalls_delay=$_GET["allcalls_delay"]
|
||||
elseif (isset($_POST["allcalls_delay"])) {$allcalls_delay=$_POST["allcalls_delay"];}
|
||||
if (isset($_GET["omit_phone_code"])) {$omit_phone_code=$_GET["omit_phone_code"];}
|
||||
elseif (isset($_POST["omit_phone_code"])) {$omit_phone_code=$_POST["omit_phone_code"];}
|
||||
if (isset($_GET["adaptive_maximum_level"])) {$adaptive_maximum_level=$_GET["adaptive_maximum_level"];}
|
||||
elseif (isset($_POST["adaptive_maximum_level"])) {$adaptive_maximum_level=$_POST["adaptive_maximum_level"];}
|
||||
if (isset($_GET["adaptive_dropped_percentage"])) {$adaptive_dropped_percentage=$_GET["adaptive_dropped_percentage"];}
|
||||
elseif (isset($_POST["adaptive_dropped_percentage"])){$adaptive_dropped_percentage=$_POST["adaptive_dropped_percentage"];}
|
||||
if (isset($_GET["available_only_ratio_tally"])) {$available_only_ratio_tally=$_GET["available_only_ratio_tally"];}
|
||||
elseif (isset($_POST["available_only_ratio_tally"])){$available_only_ratio_tally=$_POST["available_only_ratio_tally"];}
|
||||
if (isset($_GET["dial_method"])) {$dial_method=$_GET["dial_method"];}
|
||||
elseif (isset($_POST["dial_method"])) {$dial_method=$_POST["dial_method"];}
|
||||
|
||||
if (isset($script_id)) {$script_id= strtoupper($script_id);}
|
||||
if (isset($lead_filter_id)) {$lead_filter_id = strtoupper($lead_filter_id);}
|
||||
@@ -347,6 +355,7 @@ $attempt_delay = ereg_replace("[^0-9]","",$attempt_delay);
|
||||
$hotkey = ereg_replace("[^0-9]","",$hotkey);
|
||||
$list_id = ereg_replace("[^0-9]","",$list_id);
|
||||
$allcalls_delay = ereg_replace("[^0-9]","",$allcalls_delay);
|
||||
$adaptive_dropped_percentage = ereg_replace("[^0-9]","",$adaptive_dropped_percentage);
|
||||
|
||||
### Y or N ONLY ###
|
||||
$active = ereg_replace("[^NY]","",$active);
|
||||
@@ -361,6 +370,7 @@ $fronter_display = ereg_replace("[^NY]","",$fronter_display);
|
||||
$drop_message = ereg_replace("[^NY]","",$drop_message);
|
||||
$use_internal_dnc = ereg_replace("[^NY]","",$use_internal_dnc);
|
||||
$omit_phone_code = ereg_replace("[^NY]","",$omit_phone_code);
|
||||
$available_only_ratio_tally = ereg_replace("[^NY]","",$available_only_ratio_tally);
|
||||
|
||||
### ALPHA-NUMERIC ONLY ###
|
||||
$user = ereg_replace("[^0-9a-zA-Z]","",$user);
|
||||
@@ -381,6 +391,7 @@ $scheduled_callbacks = ereg_replace("[^0-9a-zA-Z]","",$scheduled_callbacks);
|
||||
### DIGITS and Dots
|
||||
$server_ip = ereg_replace("[^\.0-9]","",$server_ip);
|
||||
$auto_dial_level = ereg_replace("[^\.0-9]","",$auto_dial_level);
|
||||
$adaptive_maximum_level = ereg_replace("[^\.0-9]","",$adaptive_maximum_level);
|
||||
|
||||
### ALPHA-NUMERIC and spaces and hash and star and comma
|
||||
$xferconf_a_dtmf = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$xferconf_a_dtmf);
|
||||
@@ -410,6 +421,7 @@ $group_id = ereg_replace("[^-\_0-9a-zA-Z]","",$group_id);
|
||||
$user_group = ereg_replace("[^-\_0-9a-zA-Z]","",$user_group);
|
||||
$OLDuser_group = ereg_replace("[^-\_0-9a-zA-Z]","",$OLDuser_group);
|
||||
$state_rule = ereg_replace("[^-\_0-9a-zA-Z]","",$state_rule);
|
||||
$dial_method = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_method);
|
||||
|
||||
### ALPHA-NUMERIC and spaces
|
||||
$lead_order = ereg_replace("[^ 0-9a-zA-Z]","",$lead_order);
|
||||
@@ -507,12 +519,13 @@ $lead_filter_sql = ereg_replace(";","",$lead_filter_sql);
|
||||
# 60817-2226 - fixed bug that would not allow lead recycling of non-selectable statuses
|
||||
# 60821-1543 - added option to Omit Phone Code while dialing in vicidial
|
||||
# 60821-1625 - added ALLFORCE recording option for campaign_recording
|
||||
# 60823-1154 - added fields for adaptive dialing
|
||||
#
|
||||
|
||||
# make sure you have added a user to the vicidial_users MySQL table with at least user_level 8 to access this page the first time
|
||||
|
||||
$version = '2.0.60';
|
||||
$build = '60821-1625';
|
||||
$version = '2.0.61';
|
||||
$build = '60823-1154';
|
||||
|
||||
$STARTtime = date("U");
|
||||
|
||||
@@ -1089,11 +1102,31 @@ echo "<TABLE WIDTH=98% BGCOLOR=#E6E6E6 cellpadding=2 cellspacing=0><TR><TD ALIGN
|
||||
<BR>
|
||||
<B>Force Reset of Hopper -</B> This allows you to wipe out the hopper contents upon form submission. It should be filled again when the VDhopper script runs.
|
||||
|
||||
<BR>
|
||||
<A NAME="vicidial_campaigns-dial_method">
|
||||
<BR>
|
||||
<B>Dial Method -</B> This field is the way to define how dialing is to take place. If MANUAL then the auto_dial_level will be locked at 0 unless Dial Method is changed. If RATIO then the normal dialing a number of lines for Active agents. ADAPT_HARD_LIMIT will dial predictively up to the dropped percentage and then not allow aggressive dialing once the drop limit is reached until the percentage goes down again. ADAPT_TAPERED allows for running over the dropped percentage in the first half of the shift(as defined by call_time selected for campaign) and gets more strict as the shift goes on. ADAPT_AVERAGE tries to maintain an average or the dropped percentage not imposing hard limits as aggressively as the other two methods.
|
||||
|
||||
<BR>
|
||||
<A NAME="vicidial_campaigns-auto_dial_level">
|
||||
<BR>
|
||||
<B>Auto Dial Level -</B> This is where you set how many lines VICIDIAL should use per active agent. zero 0 means auto dialing is off and the agents will click to dial each number. Otherwise VICIDIAL will keep dialing lines equal to active agents multiplied by the dial level to arrive at how many lines this campaign on each server should allow.
|
||||
|
||||
<BR>
|
||||
<A NAME="vicidial_campaigns-available_only_ratio_tally">
|
||||
<BR>
|
||||
<B>Available Only Tally -</B> This field if set to Y will leave out INCALL and QUEUE status agents when calculating the number of calls to dial when not in MANUAL dial mode. Default is N.
|
||||
|
||||
<BR>
|
||||
<A NAME="vicidial_campaigns-adaptive_dropped_percentage">
|
||||
<BR>
|
||||
<B>Drop Percentage Limit -</B> This field is where you set the limit of the percentage of dropped calls you would like while using an adaptive-predictive dial method, not MANUAL or RATIO.
|
||||
|
||||
<BR>
|
||||
<A NAME="vicidial_campaigns-adaptive_maximum_level">
|
||||
<BR>
|
||||
<B>Maximum Adapt Dial Level -</B> This field is where you set the limit of the limit to the numbr of lines you would like dialed per agent while using an adaptive-predictive dial method, not MANUAL or RATIO. This number can be higher than the Auto Dial Level if your hardware will support it. Value must be a positive number greater than one and can have decimal places Default 3.0.
|
||||
|
||||
<BR>
|
||||
<A NAME="vicidial_campaigns-next_agent_call">
|
||||
<BR>
|
||||
@@ -2836,7 +2869,29 @@ if ($ADD==41)
|
||||
{
|
||||
echo "<br><B>CAMPAIGN MODIFIED: $campaign_id</B>\n";
|
||||
|
||||
$stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', auto_dial_level='$auto_dial_level', next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',safe_harbor_message='$safe_harbor_message',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns='$groups_value',use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code' where campaign_id='$campaign_id';";
|
||||
if ($dial_method == 'RATIO')
|
||||
{
|
||||
if ($auto_dial_level < 1) {$auto_dial_level = "1.0";}
|
||||
$adlSQL = "auto_dial_level='$auto_dial_level',";
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($dial_method == 'MANUAL')
|
||||
{
|
||||
$auto_dial_level='0';
|
||||
$adlSQL = "auto_dial_level='0',";
|
||||
}
|
||||
else
|
||||
{
|
||||
$adlSQL = "";
|
||||
if ($auto_dial_level < 1)
|
||||
{
|
||||
$auto_dial_level = "1.0";
|
||||
$adlSQL = "auto_dial_level='$auto_dial_level',";
|
||||
}
|
||||
}
|
||||
}
|
||||
$stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',safe_harbor_message='$safe_harbor_message',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns='$groups_value',use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level' where campaign_id='$campaign_id';";
|
||||
$rslt=mysql_query($stmtA, $link);
|
||||
|
||||
if ($reset_hopper == 'Y')
|
||||
@@ -2951,7 +3006,29 @@ if ($ADD==44)
|
||||
{
|
||||
echo "<br><B>CAMPAIGN MODIFIED: $campaign_id</B>\n";
|
||||
|
||||
$stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',hopper_level='$hopper_level', auto_dial_level='$auto_dial_level',lead_filter_id='$lead_filter_id' where campaign_id='$campaign_id';";
|
||||
if ($dial_method == 'RATIO')
|
||||
{
|
||||
if ($auto_dial_level < 1) {$auto_dial_level = "1.0";}
|
||||
$adlSQL = "auto_dial_level='$auto_dial_level',";
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($dial_method == 'MANUAL')
|
||||
{
|
||||
$auto_dial_level='0';
|
||||
$adlSQL = "auto_dial_level='0',";
|
||||
}
|
||||
else
|
||||
{
|
||||
$adlSQL = "";
|
||||
if ($auto_dial_level < 1)
|
||||
{
|
||||
$auto_dial_level = "1.0";
|
||||
$adlSQL = "auto_dial_level='$auto_dial_level',";
|
||||
}
|
||||
}
|
||||
}
|
||||
$stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',hopper_level='$hopper_level', $adlSQL lead_filter_id='$lead_filter_id',dial_method='$dial_method' where campaign_id='$campaign_id';";
|
||||
$rslt=mysql_query($stmtA, $link);
|
||||
|
||||
if ($reset_hopper == 'Y')
|
||||
@@ -4240,6 +4317,10 @@ echo "<TABLE><TR><TD>\n";
|
||||
$use_internal_dnc = $row[43];
|
||||
$allcalls_delay = $row[44];
|
||||
$omit_phone_code = $row[45];
|
||||
$dial_method = $row[46];
|
||||
$available_only_ratio_tally = $row[47];
|
||||
$adaptive_dropped_percentage = $row[48];
|
||||
$adaptive_maximum_level = $row[49];
|
||||
|
||||
echo "<br>MODIFY A CAMPAIGNS RECORD: $row[0] - <a href=\"$PHP_SELF?ADD=34&campaign_id=$campaign_id\">Basic View</a>";
|
||||
echo " | Detail View</a> | ";
|
||||
@@ -4319,7 +4400,22 @@ echo "<tr bgcolor=#B6D3FC><td align=right>Hopper Level: </td><td align=left><sel
|
||||
|
||||
echo "<tr bgcolor=#B6D3FC><td align=right>Force Reset of Hopper: </td><td align=left><select size=1 name=reset_hopper><option>Y</option><option SELECTED>N</option></select>$NWB#vicidial_campaigns-force_reset_hopper$NWE</td></tr>\n";
|
||||
|
||||
echo "<tr bgcolor=#B6D3FC><td align=right>Auto Dial Level: </td><td align=left><select size=1 name=auto_dial_level><option >0</option><option>1</option><option>1.1</option><option>1.2</option><option>1.3</option><option>1.4</option><option>1.5</option><option>1.6</option><option>1.7</option><option>1.8</option><option>1.9</option><option>2.0</option><option>2.2</option><option>2.5</option><option>2.7</option><option>3.0</option><option>3.5</option><option>4.0</option><option SELECTED>$auto_dial_level</option></select>(0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE</td></tr>\n";
|
||||
echo "<tr bgcolor=#BDFFBD><td align=right>Dial Method: </td><td align=left><select size=1 name=dial_method><option >MANUAL</option><option>RATIO</option><option>ADAPT_HARD_LIMIT</option><option>ADAPT_TAPERED</option><option>ADAPT_AVERAGE</option><option SELECTED>$dial_method</option></select>$NWB#vicidial_campaigns-dial_method$NWE</td></tr>\n";
|
||||
|
||||
echo "<tr bgcolor=#BDFFBD><td align=right>Auto Dial Level: </td><td align=left><select size=1 name=auto_dial_level><option >0</option><option>1</option><option>1.1</option><option>1.2</option><option>1.3</option><option>1.4</option><option>1.5</option><option>1.6</option><option>1.7</option><option>1.8</option><option>1.9</option><option>2.0</option><option>2.2</option><option>2.5</option><option>2.7</option><option>3.0</option><option>3.5</option><option>4.0</option><option SELECTED>$auto_dial_level</option></select>(0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE</td></tr>\n";
|
||||
|
||||
echo "<tr bgcolor=#BDFFBD><td align=right>Available Only Tally: </td><td align=left><select size=1 name=available_only_ratio_tally><option >Y</option><option>N</option><option SELECTED>$available_only_ratio_tally</option></select>$NWB#vicidial_campaigns-available_only_ratio_tally$NWE</td></tr>\n";
|
||||
|
||||
echo "<tr bgcolor=#BDFFBD><td align=right>Drop Percentage Limit: </td><td align=left><select size=1 name=adaptive_dropped_percentage>\n";
|
||||
$n=100;
|
||||
while ($n>=1)
|
||||
{
|
||||
echo "<option>$n</option>\n";
|
||||
$n--;
|
||||
}
|
||||
echo "<option SELECTED>$adaptive_dropped_percentage</option></select>% $NWB#vicidial_campaigns-adaptive_dropped_percentage$NWE</td></tr>\n";
|
||||
|
||||
echo "<tr bgcolor=#BDFFBD><td align=right>Maximum Adapt Dial Level: </td><td align=left><input type=text name=adaptive_maximum_level size=6 maxlength=6 value=\"$adaptive_maximum_level\"><i>number only</i> $NWB#vicidial_campaigns-adaptive_maximum_level$NWE</td></tr>\n";
|
||||
|
||||
echo "<tr bgcolor=#B6D3FC><td align=right>Next Agent Call: </td><td align=left><select size=1 name=next_agent_call><option >random</option><option>oldest_call_start</option><option>oldest_call_finish</option><option>overall_user_level</option><option SELECTED>$next_agent_call</option></select>$NWB#vicidial_campaigns-next_agent_call$NWE</td></tr>\n";
|
||||
|
||||
@@ -4645,6 +4741,7 @@ echo "<TABLE><TR><TD>\n";
|
||||
$lead_filter_id = $row[35];
|
||||
if ($lead_filter_id=='') {$lead_filter_id='NONE';}
|
||||
$display_dialable_count = $row[39];
|
||||
$dial_method = $row[46];
|
||||
|
||||
echo "<br>MODIFY A CAMPAIGN'S RECORD: $row[0] - Basic View | ";
|
||||
echo "<a href=\"$PHP_SELF?ADD=31&campaign_id=$campaign_id\">Detail View</a> | ";
|
||||
@@ -4718,7 +4815,9 @@ echo "<tr bgcolor=#B6D3FC><td align=right>Hopper Level: </td><td align=left><sel
|
||||
|
||||
echo "<tr bgcolor=#B6D3FC><td align=right>Force Reset of Hopper: </td><td align=left><select size=1 name=reset_hopper><option>Y</option><option SELECTED>N</option></select>$NWB#vicidial_campaigns-force_reset_hopper$NWE</td></tr>\n";
|
||||
|
||||
echo "<tr bgcolor=#B6D3FC><td align=right>Auto Dial Level: </td><td align=left><select size=1 name=auto_dial_level><option >0</option><option>1</option><option>1.1</option><option>1.2</option><option>1.3</option><option>1.4</option><option>1.5</option><option>1.6</option><option>1.7</option><option>1.8</option><option>1.9</option><option>2.0</option><option>2.2</option><option>2.5</option><option>2.7</option><option>3.0</option><option>3.5</option><option>4.0</option><option SELECTED>$auto_dial_level</option></select>(0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE</td></tr>\n";
|
||||
echo "<tr bgcolor=#BDFFBD><td align=right>Dial Method: </td><td align=left><select size=1 name=dial_method><option >MANUAL</option><option>RATIO</option><option>ADAPT_HARD_LIMIT</option><option>ADAPT_TAPERED</option><option>ADAPT_AVERAGE</option><option SELECTED>$dial_method</option></select>$NWB#vicidial_campaigns-dial_method$NWE</td></tr>\n";
|
||||
|
||||
echo "<tr bgcolor=#BDFFBD><td align=right>Auto Dial Level: </td><td align=left><select size=1 name=auto_dial_level><option >0</option><option>1</option><option>1.1</option><option>1.2</option><option>1.3</option><option>1.4</option><option>1.5</option><option>1.6</option><option>1.7</option><option>1.8</option><option>1.9</option><option>2.0</option><option>2.2</option><option>2.5</option><option>2.7</option><option>3.0</option><option>3.5</option><option>4.0</option><option SELECTED>$auto_dial_level</option></select>(0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE</td></tr>\n";
|
||||
|
||||
echo "<tr bgcolor=#B6D3FC><td align=right><a href=\"$PHP_SELF?ADD=3111111&script_id=$script_id\">Script</a>: </td><td align=left>$script_id</td></tr>\n";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user