summaryrefslogtreecommitdiff
path: root/FS/bin
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2016-06-14 16:45:38 -0700
committerMark Wells <mark@freeside.biz>2016-06-14 16:45:46 -0700
commitd898ddde102fc1b4ffc1a5e5738d38dbf438eb02 (patch)
tree21b166402d4917bc61b3fc6f12298c77fa05665f /FS/bin
parent723174d9277754388b962b3acb17b5915c377911 (diff)
in a2billing CDR import, parse destination number out of calledstation string, #71205
Diffstat (limited to 'FS/bin')
-rwxr-xr-xFS/bin/freeside-cdr-a2billing-import12
1 files changed, 10 insertions, 2 deletions
diff --git a/FS/bin/freeside-cdr-a2billing-import b/FS/bin/freeside-cdr-a2billing-import
index a8469e744..aa7fa4a61 100755
--- a/FS/bin/freeside-cdr-a2billing-import
+++ b/FS/bin/freeside-cdr-a2billing-import
@@ -120,7 +120,13 @@ my $updates = 0;
my $row;
while ( $row = $sth->fetchrow_hashref ) {
- $row->{calledstation} =~ s/^1//;
+ my $dst = $row->{calledstation};
+ my $dst_ip_addr = '';
+ if ($dst =~ m[^SIP/(\d+)@(.*)$] ) {
+ $dst = $1;
+ $dst_ip_addr = $2;
+ }
+ $dst =~ s/^1//;
$row->{src} =~ s/^1//;
my $cdr = FS::cdr->new ({
uniqueid => $row->{sessionid},
@@ -129,8 +135,10 @@ while ( $row = $sth->fetchrow_hashref ) {
enddate => time2str($row->{stoptime}),
duration => $row->{sessiontime},
billsec => $row->{real_sessiontime},
- dst => $row->{calledstation},
+ dst => $dst,
src => $row->{src},
+ dst_ip_addr => $dst_ip_addr,
+ dstchannel => $row->{calledstation},
charged_party => $row->{username},
upstream_rateplanid => $row->{id_tariffplan},
upstream_rateid => $row->{id_ratecard}, # I think?