Added CID Group Type of NONE
git-svn-id: svn://192.168.202.10@3185 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
@@ -464,6 +464,9 @@ OTHER CHANGES:
|
||||
129. Added ability to limit the number of voicemail messages played to a single
|
||||
lead per day, as a campaign setting.
|
||||
|
||||
130. Added CID Group Type of NONE to allow for a group of outbound CIDs to be
|
||||
used for all outbound phone calls no matter where they are.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
# It is good practice to keep this program running by placing the associated
|
||||
# KEEPALIVE script running every minute to ensure this program is always running
|
||||
#
|
||||
# Copyright (C) 2019 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||
# Copyright (C) 2020 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||
#
|
||||
# CHANGELOG:
|
||||
# 50125-1201 - Changed dial timeout to 120 seconds from 180 seconds
|
||||
@@ -131,6 +131,7 @@
|
||||
# 180812-1026 - Added code for scheduled_callbacks_auto_reschedule campaign feature
|
||||
# 190709-2239 - Added Call Quota logging
|
||||
# 191108-0922 - Added Dial Timeout Lead override function
|
||||
# 200108-1315 - Added CID Group type of NONE
|
||||
#
|
||||
|
||||
### begin parsing run-time options ###
|
||||
@@ -1564,7 +1565,11 @@ while($one_day_interval > 0)
|
||||
{
|
||||
$temp_state = $state;
|
||||
$stmtA = "SELECT outbound_cid,areacode FROM vicidial_campaign_cid_areacodes where campaign_id='$DBIPcid_group_id[$user_CIPct]' and areacode IN('$temp_state') and active='Y' order by call_count_today desc limit 100000;";
|
||||
} $temp_CID='';
|
||||
}
|
||||
if ($cid_group_type =~ /NONE/)
|
||||
{
|
||||
$stmtA = "SELECT outbound_cid,areacode FROM vicidial_campaign_cid_areacodes where campaign_id='$DBIPcid_group_id[$user_CIPct]' and active='Y' order by call_count_today desc limit 100000;";
|
||||
}
|
||||
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
|
||||
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
|
||||
$sthArows=$sthA->rows;
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#
|
||||
# Should only be run on one server in a multi-server Asterisk/VICIDIAL cluster
|
||||
#
|
||||
# Copyright (C) 2019 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||
# Copyright (C) 2020 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||
#
|
||||
# CHANGELOG:
|
||||
# 61115-1246 - First build, framework setup, non-functional
|
||||
@@ -44,6 +44,7 @@
|
||||
# 180812-1025 - Added code for scheduled_callbacks_auto_reschedule campaign feature
|
||||
# 180910-1759 - Small fix for data validation
|
||||
# 191108-1023 - Added Dial Timeout Lead override function
|
||||
# 200108-1314 - Added CID Group type of NONE
|
||||
#
|
||||
|
||||
### begin parsing run-time options ###
|
||||
@@ -979,6 +980,10 @@ while($one_day_interval > 0)
|
||||
$temp_state = $state;
|
||||
$stmtA = "SELECT outbound_cid,areacode FROM vicidial_campaign_cid_areacodes where campaign_id='$DBIPcid_group_id[$camp_CIPct]' and areacode IN('$temp_state') and active='Y' order by call_count_today desc limit 100000;";
|
||||
}
|
||||
if ($cid_group_type =~ /NONE/)
|
||||
{
|
||||
$stmtA = "SELECT outbound_cid,areacode FROM vicidial_campaign_cid_areacodes where campaign_id='$DBIPcid_group_id[$camp_CIPct]' and active='Y' order by call_count_today desc limit 100000;";
|
||||
}
|
||||
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
|
||||
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
|
||||
$sthArows=$sthA->rows;
|
||||
|
||||
@@ -1891,7 +1891,7 @@ NOTE: api user for this function must have user_level set to 8 or higher and "Mo
|
||||
REQUIRED FIELDS-
|
||||
cid_group_id - 2-20 characters, must be a valid CID Group ID or Campaign ID in the system
|
||||
source - description of what originated the API call (maximum 20 characters)
|
||||
areacode - This should be either the AREACODE(i.e. "312") or STATE(i.e. "FL") of the CID Group entry, you can also set this to "---ALL---"
|
||||
areacode - This should be either the AREACODE(i.e. "312") or STATE(i.e. "FL") or NONE of the CID Group entry, you can also set this to "---ALL---"
|
||||
stage - UPDATE, ADD, DELETE or INFO
|
||||
|
||||
OPTIONAL FIELDS-
|
||||
|
||||
@@ -3990,7 +3990,7 @@ index (date_deleted)
|
||||
CREATE TABLE vicidial_cid_groups (
|
||||
cid_group_id VARCHAR(20) PRIMARY KEY NOT NULL,
|
||||
cid_group_notes VARCHAR(255) default '',
|
||||
cid_group_type ENUM('AREACODE','STATE') default 'AREACODE',
|
||||
cid_group_type ENUM('AREACODE','STATE','NONE') default 'AREACODE',
|
||||
user_group VARCHAR(20) default '---ALL---'
|
||||
) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||
|
||||
@@ -4583,4 +4583,4 @@ INSERT INTO vicidial_settings_containers(container_id,container_notes,container_
|
||||
|
||||
UPDATE system_settings set vdc_agent_api_active='1';
|
||||
|
||||
UPDATE system_settings SET db_schema_version='1583',db_schema_update_date=NOW(),reload_timestamp=NOW();
|
||||
UPDATE system_settings SET db_schema_version='1584',db_schema_update_date=NOW(),reload_timestamp=NOW();
|
||||
|
||||
@@ -560,7 +560,7 @@ UPDATE system_settings SET db_schema_version='1535',db_schema_update_date=NOW()
|
||||
CREATE TABLE vicidial_cid_groups (
|
||||
cid_group_id VARCHAR(20) PRIMARY KEY NOT NULL,
|
||||
cid_group_notes VARCHAR(255) default '',
|
||||
cid_group_type ENUM('AREACODE','STATE') default 'AREACODE',
|
||||
cid_group_type ENUM('AREACODE','STATE','NONE') default 'AREACODE',
|
||||
user_group VARCHAR(20) default '---ALL---'
|
||||
) ENGINE=MyISAM CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||
|
||||
@@ -1148,3 +1148,7 @@ CREATE UNIQUE INDEX vvmmcount on vicidial_vmm_counts (lead_id,call_date);
|
||||
CREATE TABLE vicidial_vmm_counts_archive LIKE vicidial_vmm_counts;
|
||||
|
||||
UPDATE system_settings SET db_schema_version='1583',db_schema_update_date=NOW() where db_schema_version < 1583;
|
||||
|
||||
ALTER TABLE vicidial_cid_groups MODIFY cid_group_type ENUM('AREACODE','STATE','NONE') default 'AREACODE';
|
||||
|
||||
UPDATE system_settings SET db_schema_version='1584',db_schema_update_date=NOW() where db_schema_version < 1584;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
# vdc_db_query.php
|
||||
#
|
||||
# Copyright (C) 2019 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||
# Copyright (C) 2020 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||
#
|
||||
# This script is designed to exchange information between vicidial.php and the database server for various actions
|
||||
#
|
||||
@@ -485,10 +485,11 @@
|
||||
# 191104-1800 - Fixes for translations
|
||||
# 191107-1010 - Fix for issue #1180, hide phone number in callback info
|
||||
# 191108-0920 - Added Dial Timeout Lead override function
|
||||
# 200108-0947 - Added cid_group_id of NONE
|
||||
#
|
||||
|
||||
$version = '2.14-378';
|
||||
$build = '191108-0920';
|
||||
$version = '2.14-379';
|
||||
$build = '200108-0947';
|
||||
$php_script = 'vdc_db_query.php';
|
||||
$mel=1; # Mysql Error Log enabled = 1
|
||||
$mysql_log_count=824;
|
||||
@@ -4393,6 +4394,10 @@ if ($ACTION == 'manDiaLnextCaLL')
|
||||
$temp_state = $state;
|
||||
$stmt = "SELECT outbound_cid,areacode FROM vicidial_campaign_cid_areacodes where campaign_id='$cid_group_id' and areacode IN('$temp_state') and active='Y' order by call_count_today desc limit 100000;";
|
||||
}
|
||||
if ($cid_group_type == 'NONE')
|
||||
{
|
||||
$stmt = "SELECT outbound_cid,areacode FROM vicidial_campaign_cid_areacodes where campaign_id='$cid_group_id' and active='Y' order by call_count_today desc limit 100000;";
|
||||
}
|
||||
$rslt=mysql_to_mysqli($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00715',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
@@ -5973,6 +5978,10 @@ if ($ACTION == 'manDiaLonly')
|
||||
$temp_state = $state;
|
||||
$stmt = "SELECT outbound_cid,areacode FROM vicidial_campaign_cid_areacodes where campaign_id='$cid_group_id' and areacode IN('$temp_state') and active='Y' order by call_count_today desc limit 100000;";
|
||||
}
|
||||
if ($cid_group_type == 'NONE')
|
||||
{
|
||||
$stmt = "SELECT outbound_cid,areacode FROM vicidial_campaign_cid_areacodes where campaign_id='$cid_group_id' and active='Y' order by call_count_today desc limit 100000;";
|
||||
}
|
||||
$rslt=mysql_to_mysqli($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00718',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
|
||||
+12
-7
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
# admin.php - VICIDIAL administration page
|
||||
#
|
||||
# Copyright (C) 2019 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||
# Copyright (C) 2020 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||
#
|
||||
|
||||
$startMS = microtime();
|
||||
@@ -4600,12 +4600,13 @@ else
|
||||
# 191114-0923 - Added enable_first_webform and recording_buttons system settings
|
||||
# 191121-2256 - Extended survey audio file lengths
|
||||
# 191230-1001 - Added Voicemail Message Daily Limit
|
||||
# 200108-0937 - Added CID Group Type of NONE, update date for 2020
|
||||
#
|
||||
|
||||
# make sure you have added a user to the vicidial_users MySQL table with at least user_level 9 to access this page the first time
|
||||
|
||||
$admin_version = '2.14-731a';
|
||||
$build = '191230-1001';
|
||||
$admin_version = '2.14-732a';
|
||||
$build = '200108-0937';
|
||||
|
||||
$STARTtime = date("U");
|
||||
$SQLdate = date("Y-m-d H:i:s");
|
||||
@@ -5119,7 +5120,7 @@ echo "<html>\n";
|
||||
echo "<head>\n";
|
||||
echo "<!-- VERSION: $admin_version BUILD: $build ADD: $ADD PHP_SELF: $PHP_SELF-->\n";
|
||||
echo "<META NAME=\"ROBOTS\" CONTENT=\"NONE\">\n";
|
||||
echo "<META NAME=\"COPYRIGHT\" CONTENT=\"© 2019 ViciDial Group\">\n";
|
||||
echo "<META NAME=\"COPYRIGHT\" CONTENT=\"© 2020 ViciDial Group\">\n";
|
||||
echo "<META NAME=\"AUTHOR\" CONTENT=\"ViciDial Group\">\n";
|
||||
echo "<script language=\"JavaScript\" src=\"calendar_db.js\"></script>\n";
|
||||
echo "<script language=\"JavaScript\" src=\"help.js\"></script>\n";
|
||||
@@ -9494,6 +9495,7 @@ if ($ADD==196111111111)
|
||||
echo "<tr bgcolor=#$SSstd_row4_background><td align=right>"._QXZ("CID Group Type").": </td><td align=left><select size=1 name=cid_group_type>\n";
|
||||
echo "<option SELECTED value=\"AREACODE\">"._QXZ("AREACODE")."</option>\n";
|
||||
echo "<option value=\"STATE\">"._QXZ("STATE")."</option>\n";
|
||||
echo "<option value=\"NONE\">"._QXZ("NONE")."</option>\n";
|
||||
echo "</select>$NWB#cid_groups$NWE</td></tr>\n";
|
||||
echo "<tr bgcolor=#$SSstd_row4_background><td align=right>"._QXZ("Admin User Group").": </td><td align=left><select size=1 name=user_group>\n";
|
||||
echo "$UUgroups_list";
|
||||
@@ -37570,7 +37572,10 @@ if ($ADD==396111111111)
|
||||
echo "<input type=hidden name=stage value=ADD>\n";
|
||||
echo "<input type=hidden name=DB value=\"$DB\">\n";
|
||||
echo "<input type=hidden name=cid_group_id value=\"$cid_group_id\">\n";
|
||||
echo _QXZ("$cid_group_type").": <input type=text size=7 maxlength=5 name=areacode>\n";
|
||||
if ($cid_group_type == 'NONE')
|
||||
{echo "<input type=hidden name=areacode value=\"NONE\">\n";}
|
||||
else
|
||||
{echo _QXZ("$cid_group_type").": <input type=text size=7 maxlength=5 name=areacode>\n";}
|
||||
echo _QXZ("Outbound CID").": <input type=text size=20 maxlength=20 name=outbound_cid><BR>\n";
|
||||
echo _QXZ("Description").": <input type=text size=50 maxlength=100 name=cid_description>\n";
|
||||
echo "<input type=submit name=submit value='"._QXZ("ADD")."'><BR>\n";
|
||||
@@ -43112,7 +43117,7 @@ if ($ADD==999995)
|
||||
echo "<br><B> "._QXZ("Welcome to ViciDial: copyright, trademark and license page")."</B><BR><BR>\n";
|
||||
echo "<center><TABLE width=$section_width cellspacing=5 cellpadding=2>\n";
|
||||
|
||||
echo "<tr bgcolor=#$SSstd_row4_background><td align=right valign=top><B><font size=3>"._QXZ("Copyright").": </B></td><td align=left> "._QXZ("The ViciDial Contact Center Suite is maintained by the")." <a href=\"http://www.vicidial.com/\" target=\"_blank\">ViciDial Group</a>, © 2019</td></tr>\n";
|
||||
echo "<tr bgcolor=#$SSstd_row4_background><td align=right valign=top><B><font size=3>"._QXZ("Copyright").": </B></td><td align=left> "._QXZ("The ViciDial Contact Center Suite is maintained by the")." <a href=\"http://www.vicidial.com/\" target=\"_blank\">ViciDial Group</a>, © 2020</td></tr>\n";
|
||||
|
||||
echo "<tr bgcolor=#$SSstd_row4_background><td align=right valign=top><B><font size=3>"._QXZ("Trademark").": </B></td><td align=left> \"VICIDIAL\" "._QXZ("is a registered trademark of the")." <a href=\"http://www.vicidial.com/\" target=\"_blank\">ViciDial Group</a>. Here is our <a href=\"http://www.vicidial.com/?page_id=262\" target=\"_blank\">"._QXZ("trademark use policy")."</a></td></tr>\n";
|
||||
|
||||
@@ -44031,7 +44036,7 @@ echo "<FONT STYLE=\"font-family:HELVETICA;font-size:9;color:white;\"><br><br><!-
|
||||
echo _QXZ("VERSION").": $admin_version<BR>";
|
||||
echo _QXZ("BUILD").": $build\n";
|
||||
if (!preg_match("/_BUILD_/",$SShosted_settings))
|
||||
{echo "<BR><a href=\"$PHP_SELF?ADD=999995\"><font color=white>© 2019 ViciDial Group</font></a><BR><img src=\"images/pixel.gif\">";}
|
||||
{echo "<BR><a href=\"$PHP_SELF?ADD=999995\"><font color=white>© 2020 ViciDial Group</font></a><BR><img src=\"images/pixel.gif\">";}
|
||||
echo "</FONT>\n";
|
||||
?>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
# admin_bulk_tools.php
|
||||
#
|
||||
# Copyright (C) 2018 Mike Coate, Mike Cargile, Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||
# Copyright (C) 2020 Mike Coate, Mike Cargile, Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||
#
|
||||
# This is the admin screen for various bulk copy/delete tools.
|
||||
#
|
||||
@@ -25,13 +25,14 @@
|
||||
# 180323-1643 - Updated column labels in user copy function to add ones that had been created since script was made.
|
||||
# 180330-1427 - Added 'active' column to CID Group import
|
||||
# 180502-2115 - Added new help display
|
||||
# 200108-0956 - Added CID Group type of NONE
|
||||
#
|
||||
|
||||
require("dbconnect_mysqli.php");
|
||||
require("functions.php");
|
||||
|
||||
$version = '2.14-19';
|
||||
$build = '180502-2115';
|
||||
$version = '2.14-20';
|
||||
$build = '200108-0956';
|
||||
|
||||
$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
|
||||
$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
|
||||
@@ -440,6 +441,10 @@ if ($form_to_run == "ACCID")
|
||||
$row=mysqli_fetch_row($SQL_rslt);
|
||||
$areacode[$i] = $row[0];
|
||||
}
|
||||
if ($CGT == 'NONE')
|
||||
{
|
||||
$areacode[$i] = 'NONE';
|
||||
}
|
||||
}
|
||||
if ($ACCIDmethod == "CSV") {$areacode[$i] = $ACCIDareacode_raw[$i];}
|
||||
$SQL= "SELECT outbound_cid FROM vicidial_campaign_cid_areacodes WHERE outbound_cid='$ACCIDto_insert_raw[$i]' AND areacode='$areacode[$i]' AND campaign_id='$ACCIDcampaign';";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# version: 20191230095501
|
||||
# version: 20200108093501
|
||||
users-user User ID <QXZ>This field is where you put the users ID number, can be up to 8 digits in length, Must be at least 2 characters in length.</QXZ>
|
||||
users-pass Password <QXZ>This field is where you put the users password. Must be at least 2 characters in length. A medium strength user password will be at least 10 characters in length, and a strong user password will be at least 20 characters in length and have letters as well as at least one number. It is recommended that you use a longer password if possible, stringing together several unrelated words with no spaces, and a number somewhere in the string. The maximum size of a password is 100 characters.</QXZ>
|
||||
users-force_change_password Force Change Password <QXZ>If this option is set to Y then the user will be prompted to change their password the next time they log in to the administration webpage. Default is N.</QXZ>
|
||||
@@ -691,7 +691,7 @@ campaigns-survey_fourth_exten Survey Fourth Extension <QXZ>This is the fourth ex
|
||||
campaigns-script_top_dispo Script on top of Dispo <QXZ>If you are using an IFRAME in your SCRIPT tab contents, and the page you are using is sending statuses through the Agent API, you may want to use this feature to cover the Dispostion screen with the script tab after a call is hung up. Default is N for disabled.</QXZ>
|
||||
xfer_presets If the Campaign setting for presets is set to ENABLED then you have the ability to define Transfer-Conference presets that will be available to the agent allowing them to 3-way call these presets or blind transfer calls to these preset numbers. These presets also have an option to hide the number associated with each preset from the agent. <QXZ>Conference presets that will be available to the agent allowing them to 3-way call these presets or blind transfer calls to these preset numbers. These presets also have an option to hide the number associated with each preset from the agent.</QXZ>
|
||||
campaign_cid_areacodes CAMPAIGN CID AREACODES <B><QXZ>If the System Setting for Areacode CIDs is enabled and the Campaign setting for Use Custom CallerID is set to AREACODE then you have the ability to define Areacode CIDs that will be used when outbound calling to leads in this specific campaign. You can add multiple callerIDs per areacode and you can activate and deactivate them each in real time. If more than one callerID is active for a specific areacode then the system will use the callerid that has been used the least number of times today. If no callerIDs are active for the areacode then the campaign CallerID or list override CallerID will be used. An areacode in this section can be from 2 to 5 digits in length, and if a shorter defined areacode overlaps with a longer areacode then the longer areacode will be used. For example, if the areacodes 31 and 312 are both defined and active for a campaign, then areacode 312 would be used for phone number 3125551212.</QXZ></B>
|
||||
cid_groups CID Groups <QXZ>CID Groups are very similar to Campaign AC-CID, except with CID Groups you can use the same set of CIDs across multiple campaigns, and you can also define CID Groups on a per-state basis as well as per-areacode, instead of just by areacode like with Campaign AC-CID. If the STATE type is used, then the STATE value should match the state field for a lead, and if no match is found, the dialer will use the campaign CID as a default.</QXZ>
|
||||
cid_groups CID Groups <QXZ>CID Groups are very similar to Campaign AC-CID, except with CID Groups you can use the same set of CIDs across multiple campaigns, and you can also define CID Groups on a per-state basis as well as per-areacode, instead of just by areacode like with Campaign AC-CID. There is also the option to have no geographic separations and to just use a group of CIDs to call all numbers. If the STATE type is used, then the STATE value should match the state field for a lead, and if no match is found, the dialer will use the campaign CID as a default. If the NONE type is used, then the active CIDs will be rotated with every call made.</QXZ>
|
||||
vm_message_groups VM Message Groups <QXZ>Voicemail Message Groups are designed to allow agents to select from several messages to leave on a customer voicemail box when transferring to a voicemail message in the agent screen. The ID must be from 2 to 40 characters in length with no punctuation other than an underscore allowed. The Name must be from 5 to 255 characters in length. Active will determine if the VM Message Group is shown as an option in the campaign modify screen setting for VM Message Groups. For the Audio Files, you can define the order in which they appear on the agent screen by using the Rank setting. The Time Range will define what time of the customers day the message are displayed on the agent screen, in 2400 hours time format. The Display is what text will show up for this audio file on the agent screen.</QXZ>
|
||||
inbound_groups-park_ext Park Music-on-Hold <QXZ>This optional setting will override the agent campaign setting for Park Music-on-Hold, if populated. Default is empty for disabled.</QXZ>
|
||||
inbound_groups-populate_lead_source Populate Lead Source <QXZ>If this option is not DISABLED and there is no source_id channel variable set on the call, then the system will fill the source_id lead field with one of the other options when leads are added with an inbound call. INBOUND_NUMBER will use the inbound phone number dialed. BLANK will leave the source_id field blank. DISABLED will use the default behavior which will set the source_id field to VDCL. Default is DISABLED.</QXZ>
|
||||
|
||||
Reference in New Issue
Block a user