diff --git a/agc_2-X/trunk/UPGRADE b/agc_2-X/trunk/UPGRADE
index b3263421..002f8ec4 100644
--- a/agc_2-X/trunk/UPGRADE
+++ b/agc_2-X/trunk/UPGRADE
@@ -263,6 +263,10 @@ NOTE: Upgrading from 1.1.12-3 to 2.0.1 is at the bottom
64. Added ability to use DNCC and DNCL as Auto-Alt-Dial statuses
+65. Added ability to DNC filter by North American AREACODE using 201XXXXXXX as
+ a DNC list entry. Enabled by using the AREACODE option in Campaign
+ Detail settings
+
diff --git a/agc_2-X/trunk/bin/AST_VDauto_dial.pl b/agc_2-X/trunk/bin/AST_VDauto_dial.pl
index 968e0a98..ee983c0f 100644
--- a/agc_2-X/trunk/bin/AST_VDauto_dial.pl
+++ b/agc_2-X/trunk/bin/AST_VDauto_dial.pl
@@ -84,6 +84,7 @@
# 90909-0640 - Parked bug fix and code optimizations
# 90917-1432 - Fixed issue on high-volume systems with lagged agents
# 90924-0914 - Added List callerid override option
+# 91026-1218 - Added AREACODE DNC option
#
@@ -1347,9 +1348,16 @@ while($one_day_interval > 0)
$event_string = "|$stmtA|$VD_alt_phone|"; &event_logger;
if (length($VD_alt_phone)>5)
{
- if ($VD_use_internal_dnc =~ /Y/)
+ if ( ($VD_use_internal_dnc =~ /Y/) || ($VD_use_internal_dnc =~ /AREACODE/) )
{
- $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_alt_phone';";
+ if ($VD_use_internal_dnc =~ /AREACODE/)
+ {
+ $alt_areacode = substr($VD_alt_phone, 0, 3);
+ $alt_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number IN('$VD_alt_phone','$alt_areacode');";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_alt_phone';";}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
@@ -1362,9 +1370,16 @@ while($one_day_interval > 0)
}
else {$VD_alt_dnc_count=0;}
$event_string = "|$stmtA|$VD_alt_dnc_count|"; &event_logger;
- if ($VD_use_campaign_dnc =~ /Y/)
+ if ( ($VD_use_campaign_dnc =~ /Y/) || ($VD_use_campaign_dnc =~ /AREACODE/) )
{
- $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_alt_phone' and campaign_id='$CLcampaign_id';";
+ if ($VD_use_campaign_dnc =~ /AREACODE/)
+ {
+ $alt_areacode = substr($VD_alt_phone, 0, 3);
+ $alt_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number IN('$VD_alt_phone','$alt_areacode') and campaign_id='$CLcampaign_id';";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_alt_phone' and campaign_id='$CLcampaign_id';";}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
@@ -1411,9 +1426,16 @@ while($one_day_interval > 0)
$event_string = "|$stmtA|$VD_address3|"; &event_logger;
if (length($VD_address3)>5)
{
- if ($VD_use_internal_dnc =~ /Y/)
+ if ( ($VD_use_internal_dnc =~ /Y/) || ($VD_use_internal_dnc =~ /AREACODE/) )
{
- $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_address3';";
+ if ($VD_use_internal_dnc =~ /AREACODE/)
+ {
+ $addr3_areacode = substr($VD_address3, 0, 3);
+ $addr3_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number IN('$VD_address3','$addr3_areacode');";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_address3';";}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
@@ -1426,9 +1448,16 @@ while($one_day_interval > 0)
}
else {$VD_alt_dnc_count=0;}
$event_string = "|$stmtA|$VD_alt_dnc_count|"; &event_logger;
- if ($VD_use_campaign_dnc =~ /Y/)
+ if ( ($VD_use_campaign_dnc =~ /Y/) || ($VD_use_campaign_dnc =~ /AREACODE/) )
{
- $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_address3' and campaign_id='$CLcampaign_id';";
+ if ($VD_use_campaign_dnc =~ /AREACODE/)
+ {
+ $addr3_areacode = substr($VD_address3, 0, 3);
+ $addr3_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number IN('$VD_address3','$addr3_areacode') and campaign_id='$CLcampaign_id';";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_address3' and campaign_id='$CLcampaign_id';";}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
@@ -1511,9 +1540,16 @@ while($one_day_interval > 0)
$DNCL=0;
if ($VD_altdial_active =~ /Y/)
{
- if ($VD_use_internal_dnc =~ /Y/)
+ if ( ($VD_use_internal_dnc =~ /Y/) || ($VD_use_internal_dnc =~ /AREACODE/) )
{
- $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_altdial_phone';";
+ if ($VD_use_internal_dnc =~ /AREACODE/)
+ {
+ $ad_areacode = substr($VD_altdial_phone, 0, 3);
+ $ad_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number IN('$VD_altdial_phone','$ad_areacode');";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_altdial_phone';";}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
@@ -1527,9 +1563,16 @@ while($one_day_interval > 0)
$event_string = "|$stmtA|$VD_alt_dnc_count|"; &event_logger;
}
else {$VD_alt_dnc_count=0;}
- if ($VD_use_campaign_dnc =~ /Y/)
+ if ( ($VD_use_campaign_dnc =~ /Y/) || ($VD_use_campaign_dnc =~ /AREACODE/) )
{
- $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$CLcampaign_id';";
+ if ($VD_use_campaign_dnc =~ /AREACODE/)
+ {
+ $ad_areacode = substr($VD_altdial_phone, 0, 3);
+ $ad_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$ad_areacode') and campaign_id='$CLcampaign_id';";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$CLcampaign_id';";}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
diff --git a/agc_2-X/trunk/bin/AST_VDhopper.pl b/agc_2-X/trunk/bin/AST_VDhopper.pl
index 9083ecbb..b470335b 100644
--- a/agc_2-X/trunk/bin/AST_VDhopper.pl
+++ b/agc_2-X/trunk/bin/AST_VDhopper.pl
@@ -60,6 +60,7 @@
# 90904-1612 - Added timezone ordering
# 90907-2132 - Fixed order issues
# 91020-0054 - Fixed Auto-alt-dial DNC issues
+# 91026-1207 - Added AREACODE DNC option
#
# constants
@@ -494,9 +495,16 @@ if ($hopper_dnc_count > 0)
$sthA->finish();
if (length($VD_alt_phone)>5)
{
- if ($VD_use_internal_dnc =~ /Y/)
+ if ( ($VD_use_internal_dnc =~ /Y/) || ($VD_use_internal_dnc =~ /AREACODE/) )
{
- $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_alt_phone';";
+ if ($VD_use_internal_dnc =~ /AREACODE/)
+ {
+ $alt_areacode = substr($VD_alt_phone, 0, 3);
+ $alt_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number IN('$VD_alt_phone','$alt_areacode');";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_alt_phone';";}
if ($DB) {$event_string = "|$stmtA|"; &event_logger;}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
@@ -509,9 +517,16 @@ if ($hopper_dnc_count > 0)
$sthA->finish();
}
else {$VD_alt_dnc_count=0;}
- if ($VD_use_campaign_dnc =~ /Y/)
+ if ( ($VD_use_campaign_dnc =~ /Y/) || ($VD_use_campaign_dnc =~ /AREACODE/) )
{
- $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_alt_phone' and campaign_id='$VD_campaign_id';";
+ if ($VD_use_campaign_dnc =~ /AREACODE/)
+ {
+ $alt_areacode = substr($VD_alt_phone, 0, 3);
+ $alt_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number IN('$VD_alt_phone','$alt_areacode') and campaign_id='$VD_campaign_id';";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_alt_phone' and campaign_id='$VD_campaign_id';";}
if ($DB) {$event_string = "|$stmtA|"; &event_logger;}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
@@ -558,9 +573,16 @@ if ($hopper_dnc_count > 0)
$sthA->finish();
if (length($VD_address3)>5)
{
- if ($VD_use_internal_dnc =~ /Y/)
+ if ( ($VD_use_internal_dnc =~ /Y/) || ($VD_use_internal_dnc =~ /AREACODE/) )
{
- $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_address3';";
+ if ($VD_use_internal_dnc =~ /AREACODE/)
+ {
+ $addr3_areacode = substr($VD_address3, 0, 3);
+ $addr3_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number IN('$VD_address3','$addr3_areacode');";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_address3';";}
if ($DB) {$event_string = "|$stmtA|"; &event_logger;}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
@@ -573,9 +595,16 @@ if ($hopper_dnc_count > 0)
$sthA->finish();
}
else {$VD_alt_dnc_count=0;}
- if ($VD_use_campaign_dnc =~ /Y/)
+ if ( ($VD_use_campaign_dnc =~ /Y/) || ($VD_use_campaign_dnc =~ /AREACODE/) )
{
- $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_address3' and campaign_id='$VD_campaign_id';";
+ if ($VD_use_campaign_dnc =~ /AREACODE/)
+ {
+ $addr3_areacode = substr($VD_address3, 0, 3);
+ $addr3_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number IN('$VD_address3','$addr3_areacode') and campaign_id='$VD_campaign_id';";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_address3' and campaign_id='$VD_campaign_id';";}
if ($DB) {$event_string = "|$stmtA|"; &event_logger;}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
@@ -664,9 +693,16 @@ if ($hopper_dnc_count > 0)
if ($VD_altdial_active =~ /Y/)
{
- if ($VD_use_internal_dnc =~ /Y/)
+ if ( ($VD_use_internal_dnc =~ /Y/) || ($VD_use_internal_dnc =~ /AREACODE/) )
{
- $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_altdial_phone';";
+ if ($VD_use_internal_dnc =~ /AREACODE/)
+ {
+ $ad_areacode = substr($VD_altdial_phone, 0, 3);
+ $ad_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number IN('$VD_altdial_phone','$ad_areacode');";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_altdial_phone';";}
if ($DB) {$event_string = "|$stmtA|"; &event_logger;}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
@@ -679,9 +715,16 @@ if ($hopper_dnc_count > 0)
$sthA->finish();
}
else {$VD_alt_dnc_count=0;}
- if ($VD_use_campaign_dnc =~ /Y/)
+ if ( ($VD_use_campaign_dnc =~ /Y/) || ($VD_use_campaign_dnc =~ /AREACODE/) )
{
- $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$VD_campaign_id';";
+ if ($VD_use_campaign_dnc =~ /AREACODE/)
+ {
+ $ad_areacode = substr($VD_altdial_phone, 0, 3);
+ $ad_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$ad_areacode') and campaign_id='$VD_campaign_id';";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$VD_campaign_id';";}
if ($DB) {$event_string = "|$stmtA|"; &event_logger;}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
@@ -1965,10 +2008,17 @@ foreach(@campaign_id)
$DNClead=0;
$DNCC=0;
$DNCL=0;
- if ($use_internal_dnc[$i] =~ /Y/)
+ if ( ($use_internal_dnc[$i] =~ /Y/) || ($use_internal_dnc[$i] =~ /AREACODE/) )
{
+ if ($use_internal_dnc[$i] =~ /AREACODE/)
+ {
+ $pth_areacode = substr($phone_to_hopper[$h], 0, 3);
+ $pth_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number IN('$phone_to_hopper[$h]','$pth_areacode');";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_to_hopper[$h]';";}
if ($DB) {print " Doing DNC Check: $phone_to_hopper[$h] - $use_internal_dnc[$i]\n";}
- $stmtA = "SELECT count(*) from vicidial_dnc where phone_number='$phone_to_hopper[$h]';";
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
@@ -1986,10 +2036,17 @@ foreach(@campaign_id)
if ($DBX) {print "Flagging DNC lead: $affected_rows $phone_to_hopper[$h]\n";}
}
}
- if ( ($use_campaign_dnc[$i] =~ /Y/) && ($DNClead == '0') )
+ if ( ( ($use_campaign_dnc[$i] =~ /Y/) || ($use_campaign_dnc[$i] =~ /AREACODE/) ) && ($DNClead == '0') )
{
+ if ($use_campaign_dnc[$i] =~ /AREACODE/)
+ {
+ $pth_areacode = substr($phone_to_hopper[$h], 0, 3);
+ $pth_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number IN('$phone_to_hopper[$h]','$pth_areacode') and campaign_id='$campaign_id[$i]';";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_to_hopper[$h]' and campaign_id='$campaign_id[$i]';";}
if ($DB) {print "Doing CAMP DNC Check: $phone_to_hopper[$h] - $use_campaign_dnc[$i]\n";}
- $stmtA = "SELECT count(*) from vicidial_campaign_dnc where phone_number='$phone_to_hopper[$h]' and campaign_id='$campaign_id[$i]';";
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
diff --git a/agc_2-X/trunk/bin/FastAGI_log.pl b/agc_2-X/trunk/bin/FastAGI_log.pl
index 6d7627f5..bde07417 100644
--- a/agc_2-X/trunk/bin/FastAGI_log.pl
+++ b/agc_2-X/trunk/bin/FastAGI_log.pl
@@ -50,9 +50,9 @@
# 90814-0810 - Added extra logging for vicidial_log in some cases
# 90815-0750 - Fixed extra vicidial_log logging
# 91020-0055 - Fixed several bugs with auto-alt-dial, DNC and extended alt number dialing
+# 91026-1148 - Added AREACODE DNC option
#
-
# defaults for PreFork
$VARfastagi_log_min_servers = '3';
$VARfastagi_log_max_servers = '16';
@@ -1056,9 +1056,16 @@ sub process_request
$sthA->finish();
if (length($VD_alt_phone)>5)
{
- if ($VD_use_internal_dnc =~ /Y/)
+ if ( ($VD_use_internal_dnc =~ /Y/) || ($VD_use_internal_dnc =~ /AREACODE/) )
{
- $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_alt_phone';";
+ if ($VD_use_internal_dnc =~ /AREACODE/)
+ {
+ $alt_areacode = substr($VD_alt_phone, 0, 3);
+ $alt_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number IN('$VD_alt_phone','$alt_areacode');";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_alt_phone';";}
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
@@ -1071,9 +1078,16 @@ sub process_request
$sthA->finish();
}
else {$VD_alt_dnc_count=0;}
- if ($VD_use_campaign_dnc =~ /Y/)
+ if ( ($VD_use_campaign_dnc =~ /Y/) || ($VD_use_campaign_dnc =~ /AREACODE/) )
{
- $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_alt_phone' and campaign_id='$VD_campaign_id';";
+ if ($VD_use_campaign_dnc =~ /AREACODE/)
+ {
+ $alt_areacode = substr($VD_alt_phone, 0, 3);
+ $alt_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number IN('$VD_alt_phone','$alt_areacode') and campaign_id='$VD_campaign_id';";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_alt_phone' and campaign_id='$VD_campaign_id';";}
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
@@ -1122,9 +1136,16 @@ sub process_request
$sthA->finish();
if (length($VD_address3)>5)
{
- if ($VD_use_internal_dnc =~ /Y/)
+ if ( ($VD_use_internal_dnc =~ /Y/) || ($VD_use_internal_dnc =~ /AREACODE/) )
{
- $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_address3';";
+ if ($VD_use_internal_dnc =~ /AREACODE/)
+ {
+ $addr3_areacode = substr($VD_address3, 0, 3);
+ $addr3_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number IN('$VD_address3','$addr3_areacode');";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_address3';";}
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
@@ -1137,9 +1158,16 @@ sub process_request
$sthA->finish();
}
else {$VD_alt_dnc_count=0;}
- if ($VD_use_campaign_dnc =~ /Y/)
+ if ( ($VD_use_campaign_dnc =~ /Y/) || ($VD_use_campaign_dnc =~ /AREACODE/) )
{
- $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_address3' and campaign_id='$VD_campaign_id';";
+ if ($VD_use_campaign_dnc =~ /AREACODE/)
+ {
+ $addr3_areacode = substr($VD_address3, 0, 3);
+ $addr3_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number IN('$VD_address3','$alt_areacode') and campaign_id='$VD_campaign_id';";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_address3' and campaign_id='$VD_campaign_id';";}
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
@@ -1225,9 +1253,16 @@ sub process_request
{
$DNCC=0;
$DNCL=0;
- if ($VD_use_internal_dnc =~ /Y/)
+ if ( ($VD_use_internal_dnc =~ /Y/) || ($VD_use_internal_dnc =~ /AREACODE/) )
{
- $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_altdial_phone';";
+ if ($VD_use_internal_dnc =~ /AREACODE/)
+ {
+ $ad_areacode = substr($VD_altdial_phone, 0, 3);
+ $ad_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number IN('$VD_altdial_phone','$ad_areacode');";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_altdial_phone';";}
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
@@ -1241,9 +1276,16 @@ sub process_request
$sthA->finish();
}
else {$VD_alt_dnc_count=0;}
- if ($VD_use_campaign_dnc =~ /Y/)
+ if ( ($VD_use_campaign_dnc =~ /Y/) || ($VD_use_campaign_dnc =~ /AREACODE/) )
{
- $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$VD_campaign_id';";
+ if ($VD_use_campaign_dnc =~ /AREACODE/)
+ {
+ $ap_areacode = substr($VD_altdial_phone, 0, 3);
+ $ap_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$ap_areacode') and campaign_id='$VD_campaign_id';";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$VD_campaign_id';";}
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
diff --git a/agc_2-X/trunk/docs/NON-AGENT_API.txt b/agc_2-X/trunk/docs/NON-AGENT_API.txt
index cc5908b4..8da2b23d 100644
--- a/agc_2-X/trunk/docs/NON-AGENT_API.txt
+++ b/agc_2-X/trunk/docs/NON-AGENT_API.txt
@@ -162,8 +162,8 @@ list_id - must be all numbers, 3-12 digits, defaults to 999 if not set
source - description of what originated the API call (maximum 20 characters)
SETTINGS FIELDS-
-dnc_check - Y or N, default is N
-campaign_dnc_check - Y or N, default is N
+dnc_check - Y, N or AREACODE, default is N
+campaign_dnc_check - Y, N or AREACODE, default is N
campaign_id - 2-8 Character campaign ID, required if using campaign_dnc_check
add_to_hopper - Y or N, default is N
hopper_priority - 99 to -99, the higher number the higher priority, default is 0
diff --git a/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql b/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql
index 6db9e663..017bb855 100644
--- a/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql
+++ b/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql
@@ -592,7 +592,7 @@ display_dialable_count ENUM('Y','N') default 'Y',
wrapup_seconds SMALLINT(3) UNSIGNED default '0',
wrapup_message VARCHAR(255) default 'Wrapup Call',
closer_campaigns TEXT default '',
-use_internal_dnc ENUM('Y','N') default 'N',
+use_internal_dnc ENUM('Y','N','AREACODE') default 'N',
allcalls_delay SMALLINT(3) UNSIGNED default '0',
omit_phone_code ENUM('Y','N') default 'N',
dial_method ENUM('MANUAL','RATIO','ADAPT_HARD_LIMIT','ADAPT_TAPERED','ADAPT_AVERAGE','INBOUND_MAN') default 'MANUAL',
@@ -644,7 +644,7 @@ display_queue_count ENUM('Y','N') default 'Y',
manual_dial_filter VARCHAR(50) default 'NONE',
agent_clipboard_copy VARCHAR(50) default 'NONE',
agent_extended_alt_dial ENUM('Y','N') default 'N',
-use_campaign_dnc ENUM('Y','N') default 'N',
+use_campaign_dnc ENUM('Y','N','AREACODE') default 'N',
three_way_call_cid ENUM('CAMPAIGN','CUSTOMER','AGENT_PHONE','AGENT_CHOOSE') default 'CAMPAIGN',
three_way_dial_prefix VARCHAR(20) default '',
web_form_target VARCHAR(100) NOT NULL default 'vdcwebform',
@@ -1948,7 +1948,7 @@ CREATE INDEX phone_number on vicidial_closer_log (phone_number);
CREATE INDEX date_user on vicidial_closer_log (call_date,user);
CREATE INDEX comment_a on live_inbound_log (comment_a);
-UPDATE system_settings SET db_schema_version='1177',db_schema_update_date=NOW();
+UPDATE system_settings SET db_schema_version='1178',db_schema_update_date=NOW();
GRANT RELOAD ON *.* TO cron@'%';
GRANT RELOAD ON *.* TO cron@localhost;
diff --git a/agc_2-X/trunk/extras/upgrade_2.2.0.sql b/agc_2-X/trunk/extras/upgrade_2.2.0.sql
index 7ad24645..71e2a57d 100644
--- a/agc_2-X/trunk/extras/upgrade_2.2.0.sql
+++ b/agc_2-X/trunk/extras/upgrade_2.2.0.sql
@@ -591,3 +591,8 @@ CREATE UNIQUE INDEX vlia_user_group_id ON vicidial_live_inbound_agents (user, gr
ALTER TABLE vicidial_hopper MODIFY status ENUM('READY','QUEUE','INCALL','DONE','HOLD','DNC') default 'READY';
UPDATE system_settings SET db_schema_version='1177',db_schema_update_date=NOW();
+
+ALTER TABLE vicidial_campaigns MODIFY use_internal_dnc ENUM('Y','N','AREACODE') default 'N';
+ALTER TABLE vicidial_campaigns MODIFY use_campaign_dnc ENUM('Y','N','AREACODE') default 'N';
+
+UPDATE system_settings SET db_schema_version='1178',db_schema_update_date=NOW();
diff --git a/agc_2-X/trunk/translations/raw_translation_files/TO_BE_TRANSLATED_2.2.0.txt b/agc_2-X/trunk/translations/raw_translation_files/TO_BE_TRANSLATED_2.2.0.txt
index 8feae818..97e3f8c2 100644
--- a/agc_2-X/trunk/translations/raw_translation_files/TO_BE_TRANSLATED_2.2.0.txt
+++ b/agc_2-X/trunk/translations/raw_translation_files/TO_BE_TRANSLATED_2.2.0.txt
@@ -340,6 +340,8 @@ Agent Select Territories||
If this option is enabled and the agent belongs to at least one territory, the agent will have the option of selecting territories to dial leads from. The agent will see a list of available territories upon login and they will have the ability to go back to that territory list when paused to change their territories. For this function to work the Owner Only Dialing option must be set to TERRITORY and User Terriories must be enabled in the System Settings.
Agent Choose Territories||
This option if set to 1 allows the user to choose the territories that they will receive calls from when they login to a MANUAL or INBOUND_MAN campaign. Otherwise the user will be set to use all of the territories that they are set to belong to in the User Territories administrative section||
+The AREACODE option is just like the Y option, except it is used to also filter out an entire area code in North America from being dialed, in this case using the 201XXXXXXX entry in the DNC list would block all calls to the 201 areacode if enabled||
+If you have the active DNC option set to AREACODE then you can also use area code wildcard entries like this 201XXXXXXX to block all calls to the 201 areacode when enabled||
add-file: user_territories.php
diff --git a/agc_2-X/trunk/www/agc/vdc_db_query.php b/agc_2-X/trunk/www/agc/vdc_db_query.php
index 24b7d792..6d750656 100644
--- a/agc_2-X/trunk/www/agc/vdc_db_query.php
+++ b/agc_2-X/trunk/www/agc/vdc_db_query.php
@@ -218,10 +218,11 @@
# 90930-1638 - Added agent_territories feature
# 91012-0535 - Fixed User territory no-hopper dial bug
# 91019-1224 - Fixed auto-alt-dial DNC issues
+# 91026-1101 - Added AREACODE DNC option
#
-$version = '2.2.0-127';
-$build = '91019-1224';
+$version = '2.2.0-128';
+$build = '91026-1101';
$mel=1; # Mysql Error Log enabled = 1
$mysql_log_count=256;
$one_mysql_log=0;
@@ -2477,10 +2478,17 @@ if ($stage == "end")
else {$alt_phone = '';}
if (strlen($alt_phone)>5)
{
- if (ereg("Y",$use_internal_dnc))
+ if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) )
{
- $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$alt_phone';";
- $rslt=mysql_query($stmt, $link);
+ if (ereg("AREACODE",$use_internal_dnc))
+ {
+ $alt_phone_areacode = substr($alt_phone, 0, 3);
+ $alt_phone_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) from vicidial_dnc where phone_number IN('$alt_phone','$alt_phone_areacode');";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$alt_phone';";}
+ $rslt=mysql_query($stmtA, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00066',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
$VLAP_dnc_ct = mysql_num_rows($rslt);
@@ -2491,10 +2499,17 @@ if ($stage == "end")
}
}
else {$VD_alt_dnc_count=0;}
- if (ereg("Y",$use_campaign_dnc))
+ if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) )
{
- $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$campaign';";
- $rslt=mysql_query($stmt, $link);
+ if (ereg("AREACODE",$use_campaign_dnc))
+ {
+ $alt_phone_areacode = substr($alt_phone, 0, 3);
+ $alt_phone_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$alt_phone','$alt_phone_areacode') and campaign_id='$campaign';";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$campaign';";}
+ $rslt=mysql_query($stmtA, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00067',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
$VLAP_cdnc_ct = mysql_num_rows($rslt);
@@ -2540,10 +2555,17 @@ if ($stage == "end")
else {$address3 = '';}
if (strlen($address3)>5)
{
- if (ereg("Y",$use_internal_dnc))
+ if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) )
{
- $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$address3';";
- $rslt=mysql_query($stmt, $link);
+ if (ereg("AREACODE",$use_internal_dnc))
+ {
+ $addr3_phone_areacode = substr($address3, 0, 3);
+ $addr3_phone_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) from vicidial_dnc where phone_number IN('$address3','$addr3_phone_areacode');";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$address3';";}
+ $rslt=mysql_query($stmtA, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00070',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
$VLAP_dnc_ct = mysql_num_rows($rslt);
@@ -2554,10 +2576,17 @@ if ($stage == "end")
}
}
else {$VD_alt_dnc_count=0;}
- if (ereg("Y",$use_campaign_dnc))
+ if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) )
{
- $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$campaign';";
- $rslt=mysql_query($stmt, $link);
+ if (ereg("AREACODE",$use_campaign_dnc))
+ {
+ $addr3_phone_areacode = substr($address3, 0, 3);
+ $addr3_phone_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$address3','$addr3_phone_areacode') and campaign_id='$campaign';";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$campaign';";}
+ $rslt=mysql_query($stmtA, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00071',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
$VLAP_cdnc_ct = mysql_num_rows($rslt);
@@ -2640,10 +2669,17 @@ if ($stage == "end")
if (ereg("Y",$VD_altdial_active))
{
- if (ereg("Y",$use_internal_dnc))
+ if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) )
{
- $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_altdial_phone';";
- $rslt=mysql_query($stmt, $link);
+ if (ereg("AREACODE",$use_internal_dnc))
+ {
+ $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3);
+ $vdap_phone_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) from vicidial_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode');";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_altdial_phone';";}
+ $rslt=mysql_query($stmtA, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00076',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
$VLAP_dnc_ct = mysql_num_rows($rslt);
@@ -2654,10 +2690,17 @@ if ($stage == "end")
}
}
else {$VD_alt_dnc_count=0;}
- if (ereg("Y",$use_campaign_dnc))
+ if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) )
{
- $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$campaign';";
- $rslt=mysql_query($stmt, $link);
+ if (ereg("AREACODE",$use_campaign_dnc))
+ {
+ $vdap_phone_areacode = substr($VD_altdial_phone, 0, 3);
+ $vdap_phone_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$VD_altdial_phone','$vdap_phone_areacode') and campaign_id='$campaign';";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$campaign';";}
+ $rslt=mysql_query($stmtA, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00077',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
$VLAP_cdnc_ct = mysql_num_rows($rslt);
@@ -4383,11 +4426,18 @@ if ($ACTION == 'updateDISPO')
$vh_phone = $row[0];
}
- if (eregi('Y',$use_internal_dnc))
+ if ( (ereg("Y",$use_internal_dnc)) or (ereg("AREACODE",$use_internal_dnc)) )
{
- $stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$vh_phone';";
- $rslt=mysql_query($stmt, $link);
- if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
+ if (ereg("AREACODE",$use_internal_dnc))
+ {
+ $vhp_phone_areacode = substr($vh_phone, 0, 3);
+ $vhp_phone_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) from vicidial_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode');";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$vh_phone';";}
+ $rslt=mysql_query($stmtA, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
$ud_record_ct = mysql_num_rows($rslt);
if ($ud_record_ct > 0)
@@ -4397,11 +4447,18 @@ if ($ACTION == 'updateDISPO')
}
}
- if (eregi('Y',$use_campaign_dnc))
+ if ( (ereg("Y",$use_campaign_dnc)) or (ereg("AREACODE",$use_campaign_dnc)) )
{
- $stmt="SELECT count(*) FROM vicidial_campaign_dnc where campaign_id='$campaign' and phone_number='$vh_phone';";
- $rslt=mysql_query($stmt, $link);
- if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
+ if (ereg("AREACODE",$use_campaign_dnc))
+ {
+ $vhp_phone_areacode = substr($vh_phone, 0, 3);
+ $vhp_phone_areacode .= "XXXXXXX";
+ $stmtA="SELECT count(*) from vicidial_campaign_dnc where phone_number IN('$vh_phone','$vhp_phone_areacode') and campaign_id='$campaign';";
+ }
+ else
+ {$stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$vh_phone' and campaign_id='$campaign';";}
+ $rslt=mysql_query($stmtA, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
$ud_record_ct = mysql_num_rows($rslt);
if ($ud_record_ct > 0)
diff --git a/agc_2-X/trunk/www/vicidial/AST_VICIDIAL_hopperlist.php b/agc_2-X/trunk/www/vicidial/AST_VICIDIAL_hopperlist.php
index 67124511..ad1f8483 100644
--- a/agc_2-X/trunk/www/vicidial/AST_VICIDIAL_hopperlist.php
+++ b/agc_2-X/trunk/www/vicidial/AST_VICIDIAL_hopperlist.php
@@ -11,6 +11,7 @@
# 71029-0852 - Added list_id to the output
# 71030-2118 - Added priority to display
# 90508-0644 - Changed to PHP long tags
+# 91023-1540 - Changed to only show hopper status of READY
#
require("dbconnect.php");
@@ -130,7 +131,7 @@ echo "+------+--------+-----------+------------+------------+-------+--------+--
echo "|ORDER |PRIORITY| LEAD ID | LIST ID | PHONE NUM | STATE | STATUS | COUNT | GMT | ALT |\n";
echo "+------+--------+-----------+------------+------------+-------+--------+-------+--------+-------+\n";
-$stmt="select vicidial_hopper.lead_id,phone_number,vicidial_hopper.state,vicidial_list.status,called_count,vicidial_hopper.gmt_offset_now,hopper_id,alt_dial,vicidial_hopper.list_id,vicidial_hopper.priority from vicidial_hopper,vicidial_list where vicidial_hopper.campaign_id='" . mysql_real_escape_string($group) . "' and vicidial_hopper.lead_id=vicidial_list.lead_id order by priority desc,hopper_id limit 2000;";
+$stmt="select vicidial_hopper.lead_id,phone_number,vicidial_hopper.state,vicidial_list.status,called_count,vicidial_hopper.gmt_offset_now,hopper_id,alt_dial,vicidial_hopper.list_id,vicidial_hopper.priority from vicidial_hopper,vicidial_list where vicidial_hopper.campaign_id='" . mysql_real_escape_string($group) . "' and vicidial_hopper.status='READY' and vicidial_hopper.lead_id=vicidial_list.lead_id order by priority desc,hopper_id limit 2000;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$users_to_print = mysql_num_rows($rslt);
diff --git a/agc_2-X/trunk/www/vicidial/admin.php b/agc_2-X/trunk/www/vicidial/admin.php
index 63b95b98..f9a16517 100644
--- a/agc_2-X/trunk/www/vicidial/admin.php
+++ b/agc_2-X/trunk/www/vicidial/admin.php
@@ -1348,7 +1348,7 @@ if ($non_latin < 1)
$queue_priority = ereg_replace("[^-0-9]","",$queue_priority);
### DIGITS and NEWLINES
- $phone_numbers = ereg_replace("[^\n0-9]","",$phone_numbers);
+ $phone_numbers = ereg_replace("[^X\n0-9]","",$phone_numbers);
### Y or N ONLY ###
$allow_closers = ereg_replace("[^NY]","",$allow_closers);
@@ -1358,8 +1358,6 @@ if ($non_latin < 1)
$selectable = ereg_replace("[^NY]","",$selectable);
$reset_list = ereg_replace("[^NY]","",$reset_list);
$fronter_display = ereg_replace("[^NY]","",$fronter_display);
- $use_internal_dnc = ereg_replace("[^NY]","",$use_internal_dnc);
- $use_campaign_dnc = ereg_replace("[^NY]","",$use_campaign_dnc);
$omit_phone_code = ereg_replace("[^NY]","",$omit_phone_code);
$available_only_ratio_tally = ereg_replace("[^NY]","",$available_only_ratio_tally);
$sys_perf_log = ereg_replace("[^NY]","",$sys_perf_log);
@@ -1442,6 +1440,8 @@ if ($non_latin < 1)
$grab_calls_in_queue = ereg_replace("[^0-9a-zA-Z]","",$grab_calls_in_queue);
$call_requeue_button = ereg_replace("[^0-9a-zA-Z]","",$call_requeue_button);
$pause_after_each_call = ereg_replace("[^0-9a-zA-Z]","",$pause_after_each_call);
+ $use_internal_dnc = ereg_replace("[^0-9a-zA-Z]","",$use_internal_dnc);
+ $use_campaign_dnc = ereg_replace("[^0-9a-zA-Z]","",$use_campaign_dnc);
### DIGITS and Dots
$server_ip = ereg_replace("[^\.0-9]","",$server_ip);
@@ -1977,11 +1977,12 @@ else
# 90919-2251 - Removed all "SELECT *" instances in the code, code cleanup to conform to standard
# 90924-1645 - Added list_id overrides for cid, am_message and drop in-group
# 90930-2107 - Added agent territory selection options for ViciDial agents
+# 91026-1050 - Added AREACODE DNC option for campaigns
#
# 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
-$admin_version = '2.2.0-220';
-$build = '90930-2107';
+$admin_version = '2.2.0-221';
+$build = '91026-1050';
$STARTtime = date("U");
$SQLdate = date("Y-m-d H:i:s");
@@ -3762,12 +3763,12 @@ if ($ADD==99999)
- Use Internal DNC List - This defines whether this campaign is to filter leads against the Internal DNC list. If it is set to Y, the hopper will look for each phone number in the DNC list before placing it in the hopper. If it is in the DNC list then it will change that lead status to DNCL so it cannot be dialed. Default is N.
+ Use Internal DNC List - This defines whether this campaign is to filter leads against the Internal DNC list. If it is set to Y, the hopper will look for each phone number in the DNC list before placing it in the hopper. If it is in the DNC list then it will change that lead status to DNCL so it cannot be dialed. Default is N. The AREACODE option is just like the Y option, except it is used to also filter out an entire area code in North America from being dialed, in this case using the 201XXXXXXX entry in the DNC list would block all calls to the 201 areacode if enabled.
- Use Campaign DNC List - This defines whether this campaign is to filter leads against a DNC list that is specific to that campaign only. If it is set to Y, the hopper will look for each phone number in the campaign-specific DNC list before placing it in the hopper. If it is in the campaign-specific DNC list then it will change that lead status to DNCC so it cannot be dialed. Default is N.
+ Use Campaign DNC List - This defines whether this campaign is to filter leads against a DNC list that is specific to that campaign only. If it is set to Y, the hopper will look for each phone number in the campaign-specific DNC list before placing it in the hopper. If it is in the campaign-specific DNC list then it will change that lead status to DNCC so it cannot be dialed. Default is N. The AREACODE option is just like the Y option, except it is used to also filter out an entire area code in North America from being dialed, in this case using the 201XXXXXXX entry in the DNC list would block all calls to the 201 areacode if enabled.
@@ -4000,7 +4001,7 @@ if ($ADD==99999)
- VICIDIAL DNC List - This Do Not Call list contains every lead that has been set to a status of DNC in the system. Through the LISTS - ADD NUMBER TO DNC page you are able to manually add numbers to this list so that they will not be called by campaigns that use the internal DNC list. There is also the option to add leads to the campaign-specific DNC lists for those campaigns that have them.
+ VICIDIAL DNC List - This Do Not Call list contains every lead that has been set to a status of DNC in the system. Through the LISTS - ADD NUMBER TO DNC page you are able to manually add numbers to this list so that they will not be called by campaigns that use the internal DNC list. There is also the option to add leads to the campaign-specific DNC lists for those campaigns that have them. If you have the active DNC option set to AREACODE then you can also use area code wildcard entries like this 201XXXXXXX to block all calls to the 201 areacode when enabled.
@@ -16298,9 +16299,9 @@ if ($ADD==31)
echo "