diff options
author | Jonathan Prykop <jonathan@freeside.biz> | 2016-05-12 17:57:12 -0500 |
---|---|---|
committer | Jonathan Prykop <jonathan@freeside.biz> | 2016-05-12 17:57:12 -0500 |
commit | 350c6073bb6cf465b02ef373bf7bfde2a8a07500 (patch) | |
tree | 6bb7be0133873191ea5455b06bccffcc39d27edb /FS/FS | |
parent | 5516013d689b79f4440732cd75eaf66737d7588f (diff) |
RT#39913 Conexiant API
Diffstat (limited to 'FS/FS')
-rw-r--r-- | FS/FS/cdr/conexiant.pm | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/FS/FS/cdr/conexiant.pm b/FS/FS/cdr/conexiant.pm new file mode 100644 index 000000000..852c2f60f --- /dev/null +++ b/FS/FS/cdr/conexiant.pm @@ -0,0 +1,43 @@ +package FS::cdr::conexiant; +use base qw( FS::cdr ); + +use strict; +use vars qw( %info ); +use FS::Record qw( qsearchs ); +use FS::cdr qw( _cdr_date_parser_maker _cdr_min_parser_maker ); + +%info = ( + 'name' => 'Conexiant', + 'weight' => 600, + 'header' => 1, + 'type' => 'csv', + 'import_fields' => [ + skip(3), #LookupError,Direction,LegType + sub { #CallId + my($cdr,$value,$conf,$param) = @_; + if (qsearchs('cdr',{'uniqueid' => $value})) { + $param->{'skiprow'} = 1; + $param->{'empty_ok'} = 1; + } else { + $cdr->uniqueid($value); + } + }, + 'upstream_rateplanid', #ClientRateSheetId + skip(1), #ClientRouteId + 'src', #SourceNumber + skip(1), #RawNumber + 'dst', #DestNumber + skip(1), #DestLRN + _cdr_date_parser_maker('startdate'), #CreatedOn + _cdr_date_parser_maker('answerdate'), #AnsweredOn + _cdr_date_parser_maker('enddate'), #HangupOn + skip(4), #CallCause,SipCode,Price,USFCharge + 'upstream_price', #TotalPrice + _cdr_min_parser_maker('billsec'), #PriceDurationMins + skip(2), #SipEndpointId, SipEndpointName + ], +); + +sub skip { map {''} (1..$_[0]) } + +1; |