diff --git a/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/CDR.pm b/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/CDR.pm index 8d8369e..273ec5a 100644 --- a/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/CDR.pm +++ b/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/CDR.pm @@ -25,7 +25,7 @@ use NGCP::BulkProcessor::Projects::Export::Ama::Ccs::Settings qw( $ama_originating_digits_cdr_field $ama_terminating_digits_cdr_field - + @ivr_u2u_headers $primary_alias_pattern $switch_number_pattern @@ -97,7 +97,7 @@ use NGCP::BulkProcessor::ConnectorPool qw( use NGCP::BulkProcessor::Utils qw(threadid kbytes2gigs); # stringtobool check_ipnet trim); use NGCP::BulkProcessor::Calendar qw(from_epoch); -use NGCP::BulkProcessor::Array qw(array_to_map); +use NGCP::BulkProcessor::Array qw(array_to_map contains); require Exporter; our @ISA = qw(Exporter); @@ -369,7 +369,7 @@ sub _export_cdrs_init_context { and ($scenario->{ccs_subscriber}->{primary_alias} = NGCP::BulkProcessor::Dao::Trunk::provisioning::voip_dbaliases::findby_subscriberidisprimary($scenario->{ccs_subscriber}->{id},1)->[0]) and (not defined $primary_alias_pattern or $scenario->{ccs_subscriber}->{primary_alias}->{username} =~ $primary_alias_pattern) ) { - if (get_u2u_header($context,$parent_cdrs->[0])) { + if (contains(get_u2u_header($context,$parent_cdrs->[0]),\@ivr_u2u_headers)) { $scenario->{code} = $BLIND_TRANSFER; } else { $scenario->{code} = $BLIND_TRANSFER_NO_IVR; @@ -390,7 +390,7 @@ sub _export_cdrs_init_context { and ($scenario->{ccs_subscriber}->{primary_alias} = NGCP::BulkProcessor::Dao::Trunk::provisioning::voip_dbaliases::findby_subscriberidisprimary($scenario->{ccs_subscriber}->{id},1)->[0]) and (not defined $primary_alias_pattern or $scenario->{ccs_subscriber}->{primary_alias}->{username} =~ $primary_alias_pattern) ) { - if (get_u2u_header($context,$parent_cdrs->[0])) { + if (contains(get_u2u_header($context,$parent_cdrs->[0]),\@ivr_u2u_headers)) { $scenario->{code} = $NO_TRANSFER; } else { $scenario->{code} = $NO_TRANSFER_NO_IVR; @@ -412,7 +412,7 @@ sub _export_cdrs_init_context { and ($scenario->{ccs_subscriber}->{primary_alias} = NGCP::BulkProcessor::Dao::Trunk::provisioning::voip_dbaliases::findby_subscriberidisprimary($scenario->{ccs_subscriber}->{id},1)->[0]) and (not defined $primary_alias_pattern or $scenario->{ccs_subscriber}->{primary_alias}->{username} =~ $primary_alias_pattern) ) { - if (get_u2u_header($context,$parent_cdrs->[1])) { + if (contains(get_u2u_header($context,$parent_cdrs->[1]),\@ivr_u2u_headers)) { $scenario->{code} = $ATTN_TRANSFER; } else { $scenario->{code} = $ATTN_TRANSFER_NO_IVR; diff --git a/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/Settings.pm b/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/Settings.pm index 2784c72..1b0da24 100644 --- a/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/Settings.pm +++ b/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/Settings.pm @@ -61,7 +61,7 @@ our @EXPORT_OK = qw( $ama_originating_digits_cdr_field $ama_terminating_digits_cdr_field - + @ivr_u2u_headers $primary_alias_pattern $switch_number_pattern @@ -103,6 +103,7 @@ our $ama_originating_digits_cdr_field; our $ama_terminating_digits_cdr_field; #our $ivr_duration_limit = 5; +our @ivr_u2u_headers = (); our $primary_alias_pattern = undef; our $switch_number_pattern = undef; our $switch_number_replacement = undef; @@ -153,6 +154,7 @@ sub update_settings { } #$ivr_duration_limit = $data->{ivr_duration_limit} if exists $data->{ivr_duration_limit}; + @ivr_u2u_headers = split_tuple($data->{ivr_u2u_headers}) if exists $data->{ivr_u2u_headers}; my $regexp_result; $primary_alias_pattern = $data->{primary_alias_pattern} if exists $data->{primary_alias_pattern}; diff --git a/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/settings.cfg b/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/settings.cfg index d73f0cc..cec8c19 100644 --- a/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/settings.cfg +++ b/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/settings.cfg @@ -31,6 +31,7 @@ ama_terminating_digits_cdr_field = destination_user_in #ivr_duration_limit = 5 primary_alias_pattern = 431976 +ivr_u2u_headers = IVRmenu,announcements switch_number_pattern = ^43 switch_number_replacement = diff --git a/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/settings.debug.cfg b/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/settings.debug.cfg index 4180c6a..1147cf5 100644 --- a/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/settings.debug.cfg +++ b/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/settings.debug.cfg @@ -33,6 +33,7 @@ ama_terminating_digits_cdr_field = destination_user_in #ivr_duration_limit = 5 #primary_alias_pattern = 431976 +ivr_u2u_headers = IVRmenu,announcements switch_number_pattern = ^43 switch_number_replacement =