From: mark Date: Wed, 25 May 2011 23:25:19 +0000 (+0000) Subject: fix to Enswitch CDR import, #11613 X-Git-Tag: freeside_2_3_0~207 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=3595df85a4211d9da1fd3bd8cbb0f324881491d9 fix to Enswitch CDR import, #11613 --- diff --git a/FS/FS/cdr/enswitch.pm b/FS/FS/cdr/enswitch.pm index 64518af6d..1475d8dc1 100644 --- a/FS/FS/cdr/enswitch.pm +++ b/FS/FS/cdr/enswitch.pm @@ -23,11 +23,14 @@ use FS::cdr qw(_cdr_min_parser_maker); 'clid', #Calling name skip(1), #Called type 'dst', #Called number - skip(23), #Destination customer, Destination type + skip(5), #Destination customer, Destination type #Destination number #Destination group ID, Destination group name, - #Inbound calling type, Inbound calling number, - #Inbound called type, Inbound called number, + 'in_calling_type', #Inbound calling type, + \&in_calling_num, #Inbound calling number, + '', #Inbound called type, + \&in_called_num, #Inbound called number, + skip(14), #Inbound destination type, Inbound destination number, #Outbound calling type, Outbound calling number, #Outbound called type, Outbound called number, @@ -46,4 +49,14 @@ use FS::cdr qw(_cdr_min_parser_maker); sub skip { map {''} (1..$_[0]) } +sub in_calling_num { + my ($record, $data) = @_; + $record->src($data) if ( ($record->in_calling_type || '') eq 'external' ); +} + +sub in_called_num { + my ($record, $data) = @_; + $record->dst($data) if ( ($record->in_calling_type || '') eq 'external' ); +} + 1;