From: Mitch Jackson Date: Fri, 2 Feb 2018 22:48:12 +0000 (+0000) Subject: RT# 78952 CDR Import for Acme Packet Improved caller-id parsing X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=f4d3ad765d2309020bed99ef25a4916b8c63ba07 RT# 78952 CDR Import for Acme Packet Improved caller-id parsing --- diff --git a/FS/FS/cdr/acmepacket.pm b/FS/FS/cdr/acmepacket.pm index e0e80cdd6..1f00e4086 100644 --- a/FS/FS/cdr/acmepacket.pm +++ b/FS/FS/cdr/acmepacket.pm @@ -130,17 +130,28 @@ our %info = ( # clid, dst, src CDR field formatted as one of the following: # 'WIRELESS CALLER';tag=SDepng302 # ;tag=SDepng302 + # '12513001300';tag=SDepng302 # clid $out[0] = $out[0] =~ /^\'(.+)\'/ ? $1 : ""; # src, dst - # All of the sample data given shows sip connections. In case the same - # switch is hooked into another circuit type in the future, we'll just - # tease out a length 7+ number not contained in the caller-id-text field + # Use the 7+ digit number as the src/dst phone number. + # Prefer using the number within label. If there is not one, + # allow using number from caller-id text field. for (1,2) { + my $f = $out[$_]; $out[$_] =~ s/^\'.+\'//g; # strip caller id label portion - $out[$_] = $out[$_] =~ /(\d{7,})/ ? $1 : undef; + if ($out[$_] =~ /(\d{7,})/) { + # Using number from + $out[$_] = $1; + } elsif ($f =~ /(\d{7,})/) { + # Using number from caller-id text + $out[$_] = $1; + } else { + # No phone number, perhaps an IP only call + $out[$_] = undef; + } } if ($DEBUG) {