Fix for multiple filter_clean_cid_number actions in the DID routing AGI script, also added 'T' filter action, Issue #1247

git-svn-id: svn://192.168.202.10@3381 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2021-03-15 15:44:29 +00:00
parent 85b58a48ad
commit 599760e4df
2 changed files with 24 additions and 7 deletions
+22 -5
View File
@@ -13,7 +13,7 @@
# ;inbound DID catch-all:
#exten => _X.,1,AGI(agi-DID_route.agi)
#
# Copyright (C) 2020 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
# Copyright (C) 2021 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
#
# changes:
# 81007-0324 - First Build
@@ -47,6 +47,7 @@
# 190216-0814 - Fix for user-group, in-group and campaign settings matching issues
# 200623-2258 - Added Answer Signal options
# 201112-0834 - Fix for AGENT routing, check for availability, issue #1211
# 210315-1132 - Fix for multiple filter_clean_cid_number actions, added 'T' filter action, Issue #1247
#
@@ -290,7 +291,7 @@ if ($SSdid_system_filter > 0)
{
$original_callerid = $callerid;
$filter_number_altered=0;
if ($filter_clean_cid_number =~ /^R\d/)
if ($filter_clean_cid_number =~ /R\d/)
{
@filter_rule = split(/R/,$filter_clean_cid_number);
$filter_rule[1] =~ s/ .*//gi;
@@ -299,7 +300,7 @@ if ($SSdid_system_filter > 0)
if (length($callerid) != length($original_callerid))
{$filter_number_altered++;}
}
if ($filter_clean_cid_number =~ /^L\d/)
if ($filter_clean_cid_number =~ /L\d/)
{
@filter_rule = split(/L/,$filter_clean_cid_number);
$filter_rule[1] =~ s/ .*//gi;
@@ -308,6 +309,14 @@ if ($SSdid_system_filter > 0)
if (length($callerid) != length($original_callerid))
{$filter_number_altered++;}
}
if ($filter_clean_cid_number =~ /T\d/)
{
@filter_rule = split(/T/,$filter_clean_cid_number);
$filter_rule[1] =~ s/ .*//gi;
$callerid = substr($callerid, 0, $filter_rule[1]);
if (length($callerid) != length($original_callerid))
{$filter_number_altered++;}
}
}
### END temp clean caller id number ###
@@ -904,7 +913,7 @@ if (length($filter_clean_cid_number) > 1)
{
$original_callerid = $callerid;
$filter_number_altered=0;
if ($filter_clean_cid_number =~ /^R\d/)
if ($filter_clean_cid_number =~ /R\d/)
{
@filter_rule = split(/R/,$filter_clean_cid_number);
$filter_rule[1] =~ s/ .*//gi;
@@ -913,7 +922,7 @@ if (length($filter_clean_cid_number) > 1)
if (length($callerid) != length($original_callerid))
{$filter_number_altered++;}
}
if ($filter_clean_cid_number =~ /^L\d/)
if ($filter_clean_cid_number =~ /L\d/)
{
@filter_rule = split(/L/,$filter_clean_cid_number);
$filter_rule[1] =~ s/ .*//gi;
@@ -922,6 +931,14 @@ if (length($filter_clean_cid_number) > 1)
if (length($callerid) != length($original_callerid))
{$filter_number_altered++;}
}
if ($filter_clean_cid_number =~ /T\d/)
{
@filter_rule = split(/T/,$filter_clean_cid_number);
$filter_rule[1] =~ s/ .*//gi;
$callerid = substr($callerid, 0, $filter_rule[1]);
if (length($callerid) != length($original_callerid))
{$filter_number_altered++;}
}
if ($filter_number_altered > 0)
{
$newcallerid = "\"$calleridname <$callerid>\"";