diff options
author | Mark Wells <mark@freeside.biz> | 2016-06-14 16:45:38 -0700 |
---|---|---|
committer | Mark Wells <mark@freeside.biz> | 2016-06-14 16:45:38 -0700 |
commit | 96a433a061447845e56b29ee4539be80c4fcd9ce (patch) | |
tree | 8f10eeae27e34989bf7eccba84f7d7a2dfcd8f2f /FS | |
parent | ad140638a51a2546a95b66f0bc9acf2b66345e37 (diff) |
in a2billing CDR import, parse destination number out of calledstation string, #71205
Diffstat (limited to 'FS')
-rwxr-xr-x | FS/bin/freeside-cdr-a2billing-import | 12 |
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? |