diff options
| -rw-r--r-- | FS/FS/cdr/enswitch.pm | 19 | 
1 files changed, 16 insertions, 3 deletions
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;  | 
