X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_export%2Fpbxware.pm;h=467b79f46ce5afbc82ea1b4f6d737497b957a9ad;hb=674cb2d9d7105f4cc2871539b2e9f7088cdaa750;hp=e647dce7544a0f07132ab385ae41439b5358ee7b;hpb=f7778ade37e3b5d4efed7757e252dc826275bd60;p=freeside.git diff --git a/FS/FS/part_export/pbxware.pm b/FS/FS/part_export/pbxware.pm index e647dce75..467b79f46 100644 --- a/FS/FS/part_export/pbxware.pm +++ b/FS/FS/part_export/pbxware.pm @@ -5,7 +5,7 @@ use strict; use Tie::IxHash; use LWP::UserAgent; -use JSON; +use Cpanel::JSON::XS; use HTTP::Request::Common; use Digest::MD5 qw(md5_hex); use FS::Record qw(dbh); @@ -57,7 +57,7 @@ returns an error message. If there are no new CDRs, returns nothing. # map their column names to cdr fields # (warning: API docs are not quite accurate here) our %column_map = ( - 'Tenant' => 'subscriber', + 'Tenant' => 'accountcode', 'From' => 'src', 'To' => 'dst', 'Date/Time' => 'startdate', @@ -140,6 +140,11 @@ sub import_cdrs { uniqueid => $uniqueid, ); @hash{@names} = @$row; + # strip non-numeric junk that sometimes gets appended to these (it + # causes problems creating Freeside detail records) + foreach (qw(src dst)) { + $hash{$_} =~ s/\D*$//; + } my $cdr = FS::cdr->new(\%hash); $error = $cdr->insert; @@ -163,6 +168,10 @@ sub api_request { my $self = shift; my ($method, $content) = @_; $DEBUG ||= 1 if $self->option('debug'); + +# kludge to curb excessive paranoia in LWP 6.0+ +local $ENV{'PERL_LWP_SSL_VERIFY_HOSTNAME'} = 0; + my $url = 'https://' . $self->machine; my $request = POST($url, [ %$content,