diff --git a/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/CDR.pm b/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/CDR.pm index 296c3b44..8b22a2c1 100644 --- a/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/CDR.pm +++ b/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/CDR.pm @@ -27,6 +27,9 @@ use NGCP::BulkProcessor::Projects::Export::Ama::Ccs::Settings qw( $ivr_duration_limit $primary_alias_pattern + + $switch_number_pattern + $switch_number_replacement ); use NGCP::BulkProcessor::Logging qw ( @@ -425,7 +428,7 @@ sub _export_cdrs_init_context { correlation_id => substr($parent_cdrs->[0]->{id},-7), nod => { originating_digits => $originating, - switch_number_digits => $terminating, #$scenario->{ccs_subscriber}->{primary_alias}->{username}, + switch_number_digits => _rewrite_switch_number($terminating), #$scenario->{ccs_subscriber}->{primary_alias}->{username}, mode => '0001', }, }); @@ -441,7 +444,7 @@ sub _export_cdrs_init_context { correlation_id => substr($parent_cdrs->[0]->{id},-7), nod => { originating_digits => $originating, - switch_number_digits => $terminating, #$scenario->{ccs_subscriber}->{primary_alias}->{username}, + switch_number_digits => _rewrite_switch_number($terminating), #$scenario->{ccs_subscriber}->{primary_alias}->{username}, mode => '6001', }, },{ @@ -453,7 +456,7 @@ sub _export_cdrs_init_context { correlation_id => substr($parent_cdrs->[0]->{id},-7), nod => { originating_digits => $originating, - switch_number_digits => $terminating, #$scenario->{ccs_subscriber}->{primary_alias}->{username}, + switch_number_digits => _rewrite_switch_number($terminating), #$scenario->{ccs_subscriber}->{primary_alias}->{username}, mode => '2002', }, }); @@ -469,7 +472,7 @@ sub _export_cdrs_init_context { correlation_id => substr($parent_cdrs->[0]->{id},-7), nod => { originating_digits => $originating, - switch_number_digits => $terminating, #$scenario->{ccs_subscriber}->{primary_alias}->{username}, + switch_number_digits => _rewrite_switch_number($terminating), #$scenario->{ccs_subscriber}->{primary_alias}->{username}, mode => '0001', }, }); @@ -485,7 +488,7 @@ sub _export_cdrs_init_context { correlation_id => substr($parent_cdrs->[0]->{id},-7), nod => { originating_digits => $originating, - switch_number_digits => $terminating, #$scenario->{ccs_subscriber}->{primary_alias}->{username}, + switch_number_digits => _rewrite_switch_number($terminating), #$scenario->{ccs_subscriber}->{primary_alias}->{username}, mode => '6001', }, },{ @@ -497,7 +500,7 @@ sub _export_cdrs_init_context { correlation_id => substr($parent_cdrs->[0]->{id},-7), nod => { originating_digits => $originating, - switch_number_digits => $terminating, #$scenario->{ccs_subscriber}->{primary_alias}->{username}, + switch_number_digits => _rewrite_switch_number($terminating), #$scenario->{ccs_subscriber}->{primary_alias}->{username}, mode => '2002', }, }); @@ -514,7 +517,7 @@ sub _export_cdrs_init_context { correlation_id => substr($parent_cdrs->[0]->{id},-7), nod => { originating_digits => $originating, - switch_number_digits => $terminating, #$scenario->{ccs_subscriber}->{primary_alias}->{username}, + switch_number_digits => _rewrite_switch_number($terminating), #$scenario->{ccs_subscriber}->{primary_alias}->{username}, mode => '0001', }, }); @@ -531,7 +534,7 @@ sub _export_cdrs_init_context { correlation_id => substr($parent_cdrs->[0]->{id},-7), nod => { originating_digits => $originating, - switch_number_digits => $terminating, #$scenario->{ccs_subscriber}->{primary_alias}->{username}, + switch_number_digits => _rewrite_switch_number($terminating), #$scenario->{ccs_subscriber}->{primary_alias}->{username}, mode => '6001', }, },{ @@ -543,7 +546,7 @@ sub _export_cdrs_init_context { correlation_id => substr($parent_cdrs->[0]->{id},-7), nod => { originating_digits => $originating, - switch_number_digits => $terminating, #$scenario->{ccs_subscriber}->{primary_alias}->{username}, + switch_number_digits => _rewrite_switch_number($terminating), #$scenario->{ccs_subscriber}->{primary_alias}->{username}, mode => '2002', }, }); @@ -553,6 +556,16 @@ sub _export_cdrs_init_context { } +sub _rewrite_switch_number { + + my ($switch_number) = @_; + if (defined $switch_number_pattern and defined $switch_number_replacement) { + $switch_number =~ s/$switch_number_pattern/$switch_number_replacement/; + } + return $switch_number; + +} + sub _commit_export_status { my %params = @_; diff --git a/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/Settings.pm b/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/Settings.pm index 340c5e4f..fce1ce82 100644 --- a/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/Settings.pm +++ b/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/Settings.pm @@ -63,6 +63,9 @@ our @EXPORT_OK = qw( $ivr_duration_limit $primary_alias_pattern + + $switch_number_pattern + $switch_number_replacement ); our $defaultconfig = 'config.cfg'; @@ -92,6 +95,8 @@ our $ama_terminating_digits_cdr_field; our $ivr_duration_limit = 5; our $primary_alias_pattern = undef; +our $switch_number_pattern = undef; +our $switch_number_replacement = undef; sub update_settings { @@ -140,6 +145,12 @@ sub update_settings { ($regexp_result,$primary_alias_pattern) = parse_regexp($primary_alias_pattern,$configfile); $result &= $regexp_result; + $switch_number_pattern = $data->{switch_number_pattern} if exists $data->{switch_number_pattern}; + ($regexp_result,$switch_number_pattern) = parse_regexp($switch_number_pattern,$configfile); + $result &= $regexp_result; + + $switch_number_replacement = $data->{switch_number_replacement} if exists $data->{switch_number_replacement}; + return $result; } diff --git a/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/settings.cfg b/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/settings.cfg index da2cb7c0..464686ee 100644 --- a/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/settings.cfg +++ b/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/settings.cfg @@ -29,4 +29,7 @@ ama_originating_digits_cdr_field = source_cli ama_terminating_digits_cdr_field = destination_user_in ivr_duration_limit = 5 -primary_alias_pattern = 431976 \ No newline at end of file +primary_alias_pattern = 431976 + +switch_number_pattern = 43 +switch_number_replacement = \ No newline at end of file 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 03043dca..8624459d 100644 --- a/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/settings.debug.cfg +++ b/lib/NGCP/BulkProcessor/Projects/Export/Ama/Ccs/settings.debug.cfg @@ -31,4 +31,7 @@ ama_originating_digits_cdr_field = source_cli ama_terminating_digits_cdr_field = destination_user_in ivr_duration_limit = 5 -#primary_alias_pattern = 431976 \ No newline at end of file +#primary_alias_pattern = 431976 + +switch_number_pattern = 43 +switch_number_replacement = \ No newline at end of file